Javascript中的关键字和保留字
ECMA-262 描述了一組具有特定用途的關(guān)鍵字。這些關(guān)鍵字可用于表示控制語(yǔ)句的開始或結(jié)束,或者用于執(zhí)行特定操作等。按照規(guī)則,關(guān)鍵字也是語(yǔ)言保留的,不能用作標(biāo)識(shí)符。以下就是ECMAScript的全部關(guān)鍵字(帶*號(hào)上標(biāo)的是第5 版新增的關(guān)鍵字):
| 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 | ? | ? |
ECMA-262 還描述了另外一組不能用作標(biāo)識(shí)符的保留字。盡管保留字在這門語(yǔ)言中還沒(méi)有任何特定的用途。但它們有可能在將來(lái)被用作關(guān)鍵字。以下是ECMA-262 第3 版定義的全部保留字:
| abstract | enum | int | short |
| boolean | export | interface | static |
| byte | extends | long | super |
| char | final | native | synchronized |
| class | float | package | throws |
| const | goto | private | transient |
| debugger | implements | protected | volatile |
| double | import | public | ? |
第5 版把在非嚴(yán)格模式下運(yùn)行時(shí)的保留字縮減為下列這些:
| class | enum | extends | super |
| const | export | import | ? |
在嚴(yán)格模式下,第5 版還對(duì)以下保留字施加了限制:
| implements | package | public | interface |
| private | static | let | protected |
| yield | ? | ? | ? |
注意, let 和yield 是第5 版新增的保留字;其他保留字都是第3 版定義的。為了最大程度地保證兼容性,建議大家將第3 版定義的保留字外加let 和yield 作為編程時(shí)的參考。
在實(shí)現(xiàn)ECMAScript 3 的JavaScript 引擎中使用關(guān)鍵字作標(biāo)識(shí)符,會(huì)導(dǎo)致"Identifier Expected" 錯(cuò)誤。而使用保留字作標(biāo)識(shí)符可能會(huì)也可能不會(huì)導(dǎo)致相同的錯(cuò)誤,具體取決于特定的引擎。
第5 版對(duì)使用關(guān)鍵字和保留字的規(guī)則進(jìn)行了少許修改。關(guān)鍵字和保留字雖然仍然不能作為標(biāo)識(shí)符使用,但現(xiàn)在可以用作對(duì)象的屬性名。一般來(lái)說(shuō),最好都不要使用關(guān)鍵字和保留字作為標(biāo)識(shí)符和屬性名,以便與將來(lái)的ECMAScript 版本兼容。
除了上面列出的保留字和關(guān)鍵字,ECMA-262 第5 版對(duì)eval 和arguments 還施加了限制。在嚴(yán)格模式下,這兩個(gè)名字也不能作為標(biāo)識(shí)符或?qū)傩悦?#xff0c;否則會(huì)拋出錯(cuò)誤。
轉(zhuǎn)載于:https://www.cnblogs.com/cheerone/p/6393661.html
總結(jié)
以上是生活随笔為你收集整理的Javascript中的关键字和保留字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 初步了解学习将传统单机应用改造成Dubb
- 下一篇: Hihocoder-1135-Magic