我正在尝试了解4
和(4)
之间的区别。
4.toString(); // SyntaxError: Unexpected token ILLEGAL
(4).toString(); // "4"
我认为这是因为toString()
方法是在Number
(对象)上定义的,而4是原始数据类型,即。number
,它没有toString()
方法。
但是,它如何适用于(4).toString()
?
4 === (new Number(4)) // false
(4) === (new Number(4)) // false. (4) is not an instance of Number object
答案 0 :(得分:3)
Dot(.
)不仅意味着成员访问运营商。它还表示floating-point literals中的小数点。当JS解释器遇到点对点(在你的情况下为4
)时,它需要浮点字面值,即点后的数字。这就是为什么你需要在那里分组操作员(parens)。