Why does this JavaScript assignment not raise an error: const a = (1, 2, 3, 4);
Why does this JavaScript assignment not raise an error: const a = (1, 2, 3, 4);
const a = (1, 2, 3, 4);
console.log(a);
const b = 1, 2, 3, 4;
console.log(b);
在上面的示例中,a
将被分配值 4
,而第二行将引发错误。为什么第一个任务“成功”。为什么它是有效的 JS 语法?
逗号运算符 returns 列出的最后一个表达式。它适用于第一种情况,因为它被加括号并作为单个表达式进行解析。然而,一旦有效表达式在 =
之后完成 - 在第二种情况下,1
- 并且下一个标记是逗号,JavaScripts 期望声明另一个标识符,因此您可以像这样声明多个变量:
let a = 1, b = 2;
const a = (1, 2, 3, 4);
console.log(a);
const b = 1, 2, 3, 4;
console.log(b);
在上面的示例中,a
将被分配值 4
,而第二行将引发错误。为什么第一个任务“成功”。为什么它是有效的 JS 语法?
逗号运算符 returns 列出的最后一个表达式。它适用于第一种情况,因为它被加括号并作为单个表达式进行解析。然而,一旦有效表达式在 =
之后完成 - 在第二种情况下,1
- 并且下一个标记是逗号,JavaScripts 期望声明另一个标识符,因此您可以像这样声明多个变量:
let a = 1, b = 2;