为什么它们不是关键词?他们是什么?
true, false, null更新快速答案
这些都是保留词,但它们不是关键字。
spec - ES3和ES5验证了小的技术区别
发布于 2012-09-05 20:18:16
实际上,true和false是Javascript中的保留词,来自:
http://ecma-international.org/ecma-262/5.1/#sec-7.6.1
A reserved word is an IdentifierName that cannot be used as an Identifier.
Syntax
ReservedWord ::
Keyword
FutureReservedWord
NullLiteral
BooleanLiteral和在
http://ecma-international.org/ecma-262/5.1/#sec-7.8.2
你可以读到:
Boolean Literals
Syntax
BooleanLiteral ::
true
false发布于 2012-09-05 20:08:16
它们是布尔文字。来自规格说明
BooleanLiteral ::真假
true的值是布尔类型的值,即true。false的值是布尔类型的值,即false。它类似于10是数字文字或'foo'是字符串文字。
保留词包括关键字和文字。单词true和false是保留词,但不是关键字。以下是关键词
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger function this with
default if throw
delete in try注意,true和false没有出现在这个列表中。
我认为你的困惑来自没有意识到关键词和保留词这两个词是不一样的。每个关键字都是一个保留字,但不是每个保留字都是一个关键字。
发布于 2012-09-05 20:08:49
https://stackoverflow.com/questions/12288945
复制相似问题