JavaScript 中的保留关键字
寻找 JavaScript 中所有保留字的列表? 你来对地方了。 我最近自己也需要这样一个列表,但最终还是比较了所有 ECMAScript 版本中的保留关键字。 结果列在下面,以供将来参考。
ECMAScript 1
一开始,有 ECMAScript 1。它列出了以下保留字:
do
if
in
for
new
try
var
case
else
enum
null
this
true
void
with
break
catch
class
const
false
super
throw
while
delete
export
import
return
switch
typeof
default
extends
finally
continue
debugger
function
ECMAScript 2
后来,ECMAScript 2 增加了 int, byte, char, goto, long, final, float, short, double, native, public, static, throws, boolean, package, private, abstract, volatile, interface, protected, transient, implements, instanceof , 并同步。
do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized
ECMAScript 3
ECMAScript 3 在保留关键字列表中没有引入任何变化——它与 ECMAScript 2 关键字相同。
ECMAScript 4
没有 ECMAScript 4 这样的东西。
ECMAScript 5
ECMASCript 5/5.1 删除了 int、byte、char、goto、long、final、float、short、double、native、throws、boolean、abstract、volatile、transient 和 synchronized; 它添加了 let
和 yield
。
do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof
请注意
,仅在严格模式下不允许使用implements
、let
、private
、public
、interface
、package
、protected
、static
和yield
。
大家可能已经注意到我在列表中包含了 eval
和 arguments
。 这些不是严格的保留字,但它们确实像它们一样——它们在严格模式下也是不允许的。
此外,全局对象的(未列出的)NaN、Infinity 和 undefined 属性在 ES5 中是不可变或只读属性。 所以即使 var NaN = 42;
在全局范围内不会抛出错误,它实际上不会做任何事情。 为了避免混淆,我建议完全避免使用这些标识符,即使它们不是严格的保留字。
ECMAScript 2015 (ES6)
最新的 ECMAScript 2015 (ES6) 草案将 await
添加为模块中的未来保留字。 即使在非严格模式代码中,现在也不允许使用 let
和 yield
。 在某些情况下, yield
被赋予标识符的语义。
do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
await
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof
什么用途?
保留关键字不能用作 JavaScript 中的变量名。 为了与旧的 JavaScript 引擎实现最佳的向后兼容性,最好避免使用此页面上的关键字作为变量名或属性名——即使是旧的 ECMAScript 2 引擎,如 char
和 default
。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法