【问题标题】:Why does this JavaScript assignment not raise an error: const a = (1, 2, 3, 4); [duplicate]为什么这个 JavaScript 赋值不会引发错误: const a = (1, 2, 3, 4); [复制]
【发布时间】:2021-12-22 05:11:34
【问题描述】:

const a = (1, 2, 3, 4);
console.log(a);

const b = 1, 2, 3, 4;
console.log(b);

在上面的例子中,a 将被赋值为4,而第二行将引发错误。为什么第一次分配“成功”。为什么它是有效的 JS 语法?

【问题讨论】:

  • 第一个将表达式的结果分配给a。第二个是语法错误

标签: javascript variable-assignment parentheses


【解决方案1】:

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

let a = 1, b = 2;

【讨论】:

    猜你喜欢
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多