在JavaScript中,typeof 0
不会'number'
'Number'
,而是instanceof 0 Number
。
是否准确地说内置类型的规范名称是大写的,而typeof
的小写返回值是一个怪癖/不一致,由于历史原因无法更改,但是如果可能的话会改变吗?或者我错过了什么?
答案 0 :(得分:1)
没有
实际上number是内置值类型,其中Number是一个对象。
如果你说typeof,则不需要暂时将0转换为对象。
如果使用instanceof,它会暂时将0转换为对象。
这与您对字符串的操作类似:
"sometest"
=>这是一个字符串
但是,如果你做"sometest".toLowerCase()
,它将首先(暂时)将字符串转换为String-object,然后在该对象上调用该方法(因为value-types不能有方法)。
简而言之,小写表示值类型,大写表示对象