他们为什么不是关键词?这些是什么?
true, false, null
Run Code Online (Sandbox Code Playgroud)
更新快速解答
这些是保留字,但它们不是关键字.
通过规范验证的小技术区别 - ES3和ES5
Mar*_*ers 11
它们是布尔文字.从规格:
Run Code Online (Sandbox Code Playgroud)BooleanLiteral :: true false
- 布尔文字
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
Run Code Online (Sandbox Code Playgroud)
请注意,true并且false不会出现在此列表中.
我认为你的困惑来自于没有意识到两个术语关键词和保留词是不一样的.每个关键字都是保留字,但并非每个保留字都是关键字.
其实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
Run Code Online (Sandbox Code Playgroud)
并在
http://ecma-international.org/ecma-262/5.1/#sec-7.8.2
你可以阅读:
Boolean Literals
Syntax
BooleanLiteral ::
true
false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |