在JavaScript控制台中,如果我执行:
2.toString()
我收到错误:
未捕获的SyntaxError:无效或意外的令牌
但如果我执行(2).toString()
,则结果为"2"
。
为什么我必须使用括号来应用Number原型中的方法?
其他"原语"没有括号的工作。例如:
true.toString()
=> "true"
"".toString()
=> ""
当然,它不适用于null
或undefined
,因为根据定义,它们没有任何属性或方法。
为什么Number以这种方式与Boolean和String不同?