1.toString()Javascript中的SyntaxError

scu*_*yxx 3 javascript

虽然第二行和第三行工作正常但为什么下面的第一行会出错?

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)