Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
内置JavaScript类型名称的大小写_Javascript_Naming_Built In Types - Fatal编程技术网

内置JavaScript类型名称的大小写

内置JavaScript类型名称的大小写,javascript,naming,built-in-types,Javascript,Naming,Built In Types,在JavaScript中,typeof 0给出的'number'不是'number',而是0 number的实例 可以准确地说内置类型的规范名称是大写的,而typeof的小写返回值是一种怪癖/不一致性,由于历史原因无法更改,但如果可以的话会更改吗?还是我遗漏了什么 实际上,number是内置的值类型,其中number是一个对象 如果您说typeof,则无需临时将0转换为对象 如果使用instanceof,它会临时将0转换为对象 这与处理字符串的操作类似: “sometest”=>这是一个字符串

在JavaScript中,
typeof 0
给出的
'number'
不是
'number'
,而是
0 number的实例

可以准确地说内置类型的规范名称是大写的,而
typeof
的小写返回值是一种怪癖/不一致性,由于历史原因无法更改,但如果可以的话会更改吗?还是我遗漏了什么

实际上,number是内置的值类型,其中number是一个对象

如果您说typeof,则无需临时将0转换为对象

如果使用instanceof,它会临时将0转换为对象

这与处理字符串的操作类似:

“sometest”
=>这是一个字符串

但是,如果要执行
“sometest”.toLowerCase()
,它将首先(临时)将字符串转换为字符串对象,然后调用该对象上的方法(因为值类型不能有方法)


简言之,小写表示值类型,大写表示对象

Dunno,但Javascript中的约定是构造函数以大写字母开头,数字是构造函数(或者严格地说,是可以作为构造函数调用的函数),因此大写。请注意,
typeof new Number()
返回
object
:-)这里的区别在于对象类型和值类型。如果你看一看第4.3.9节到第4.3.21节,你会发现是空类型和空值,布尔类型和布尔值。。。有点让人困惑的是,他们在规范中不一致地使用大写和小写。它一致地使用“数字类型”,但在ES5中不使用小写的“数字类型”。它还一致地在伪代码中使用类型(x)。我删除了我之前的评论,因为这是断章取义的:引用的是规范类型,而不是一般的类型。