为什么javascript `var undefined`可以,但`var null`抛出错误

为什么javascript `var undefined`可以,但`var null`抛出错误,javascript,syntax-error,Javascript,Syntax Error,为什么浏览器为var null抛出错误 我正在阅读,我知道undefined是一个与null不同的全局变量 但我只是好奇为什么当dovar为null时它会抛出错误 相反,当var Number=123,var Boolean=123,var Object=123,var undefined=123(虽然没有用)等时,这是正常的 据我所知,null在JavaScript中不是保留字和关键字。它应该是一个基本类型 与null相关的var是如何工作的?区别在于null是a,而未定义不是 从文件中: 文

为什么浏览器为
var null抛出错误

我正在阅读,我知道
undefined
是一个与
null
不同的全局变量

但我只是好奇为什么当do
var为null时它会抛出错误
相反,当
var Number=123
var Boolean=123
var Object=123
var undefined=123
(虽然没有用)等时,这是正常的

据我所知,
null
在JavaScript中不是保留字和关键字。它应该是一个基本类型


null
相关的
var
是如何工作的?

区别在于
null
是a,而
未定义
不是

从文件中:

文本null、true和false不能用作ECMAScript中的标识符


这是语法定义的一部分,而全局变量只是可以(通常)重写的对象。

“此外,文本null、true和false不能用作ECMAScript中的标识符。”@mplungjan谢谢,这很有用。我不知道NullLiteral,我想知道为什么你认为它是重复的。如果我投了反对票,我应该删除这个anwser吗?我试过了,但我找不到一份官方文件说“null”是保留字——我们都同意它是保留字,我个人不在乎。我从不使用可能被保留的变量名。这是一个很酷的测试者:thx all,我知道这个问题实际上是无用的,但我只是好奇,我是一个好奇的男孩~谢谢你们所有人。我不完全同意你们的观点。null不是保留关键字。它只是字面意思。@mplungjan的评论也非常具体,我将在这里重复:“此外,
null
true
false
不能在ECMAScript中用作标识符。”对于
未定义的
没有这样的规定。我不知道你想要的是什么,除了艾奇写的一封上面有蜡印的信以外,也许比那封更正式?