{1:'a'}[1] 此语法在代码中有效,但在浏览器的开发者工具中无效?

问题描述 投票:0回答:1

我接手了一个新项目,有一行代码如下所示:

typeName() {
      return {
        1: 'leads',
        2: 'cunstomer',
        3: 'business'
      }[this.optionValue]
    },

效果很好。 我以前从未见过。 然后我尝试使用开发者工具,但它不起作用! 谁能告诉我为什么?

enter image description here

{1:'a'}[1]

开发者工具会报错:Uncaught SyntaxError: Unexpected token ':'

javascript node.js v8
1个回答
0
投票

Javascript 需要在关键字 return 之后有一个

表达式
。开发工具控制台或多或少期望您在文件中放入的内容(声明)。

例如以下语句:

if (5 > 3) {
  console.log(33);
}

作为控制台输入有效,但作为返回值无效:

function myFunc() {
  
  // return expects an expression
  return if (5 > 3) {
    console.log(33)
  }
}

您本质上所做的是将一个数字放入代码块(一个语句)中,然后使用冒号,然后尝试对该块进行索引。

// This makes no sense in the global scope

{
  1:'a'
}[1]
© www.soinside.com 2019 - 2024. All rights reserved.