首页 > 解决方案 > 为什么这个 JavaScript 赋值不会引发错误: 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 语法?

标签: javascriptvariable-assignmentparentheses

解决方案


逗号运算符返回列出的最后一个表达式。它在第一种情况下有效,因为它被括号括起来并被解析为单个表达式。然而,一旦一个有效的表达式在=- 之后完成,在第二种情况下,1- 并且下一个标记是一个逗号,JavaScripts 需要另一个标识符来声明,所以你可以像这样声明多个变量:

let a = 1, b = 2;

推荐阅读