【问题标题】:Why is semicolon changing JavaScript behavior in the Chrome console [duplicate]为什么分号会改变 Chrome 控制台中的 JavaScript 行为 [重复]
【发布时间】:2021-08-09 17:41:21
【问题描述】:

此代码在 google chrome 控制台中完美执行:

{ a, b } = { a: 10, b: 20 }

{a: 10, b: 20}

但是当我在末尾添加分号时,出现语法错误:

{ a, b } = { a: 10, b: 20 };

VM115:1 Uncaught SyntaxError: Unexpected token '='

谁能告诉我为什么? AFAIK ; 不应该影响 javascript 中的含义,但显然它在 google chrome 控制台中会影响。

附:请注意,此行为仅在 Google Chrome 控制台中观察到。

【问题讨论】:

标签: javascript


【解决方案1】:

object destructuring without var 仅在赋值表达式周围的括号内有效 - 在 JavaScript 中,语句不得以 { 开头,否则它将是一个块。

您遇到的行为来自the special handling of inputs that begin with { and end with } in the Chrome devtools。这种启发式有时很有用,但在出错的情况下会引起很多混乱。

【讨论】:

    猜你喜欢
    • 2019-02-18
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    相关资源
    最近更新 更多