gpt4 book ai didi

javascript - {}.toString() 未捕获语法错误 : Unexpected token

转载 作者:行者123 更新时间:2023-11-28 12:20:23 26 4
gpt4 key购买 nike

当我在 Chrome 开发工具中尝试时,它显示未捕获的语法错误:意外的标记。但是,如果当它分配给 a 时:

var a={}.toString(); 
a //[object Object]

是什么造成了这种差异?

最佳答案

what caused the difference?

解析器所处的状态。默认情况下,解析器处于期望语句的状态。因此,在控制台的示例中, { 看起来像是一个 block 的开头,而不是对象初始值设定项的开头。 (此时您也可以给它一个表达式,因为 JavaScript 有 ExpressionStatement 的概念,它是一个完全由表达式组成的语句。)

但是在您的 var a={}.toString(); 代码中,{}.toString() 出现在赋值的右侧,其中解析器需要一个表达式,而不是一个语句。因此 { 启动一个对象初始值设定项。

如果你做了一些事情让解析器需要一个表达式,它也会在控制台中工作:

({}).toString(); // "[object Object]"

+{}.toString(); // NaN, because the `+` tries to turn `[object Object]` into a number and fails

关于javascript - {}.toString() 未捕获语法错误 : Unexpected token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39643550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com