虽然第二行和第三行工作正常但为什么下面的第一行会出错?
1.toString(); // SyntaxError
(1).toString(); // OK
1['toString'](); // OK
Run Code Online (Sandbox Code Playgroud)
I H*_*azy 12
该.礼物歧义.它是小数,还是属性访问器?
解释器将其视为小数,因此您可以使用..允许小数,然后是属性语法.
1..toString();
Run Code Online (Sandbox Code Playgroud)
或者使用您展示的其他方法之一来解决歧义.
小智 11
解析器试图将其1.视为浮点文字的开头 - 仅toString将其转换为无效数字.
与之比较:
1.0.toString()
Run Code Online (Sandbox Code Playgroud)