我接手了一个新项目,有一行代码如下所示:
typeName() {
return {
1: 'leads',
2: 'cunstomer',
3: 'business'
}[this.optionValue]
},
效果很好。 我以前从未见过。 然后我尝试使用开发者工具,但它不起作用! 谁能告诉我为什么?
{1:'a'}[1]
开发者工具会报错:Uncaught SyntaxError: Unexpected token ':'
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]