JavaScript - 保留关键字



JavaScript 中的保留关键字

JavaScript 中的 reserved 关键字是用于提供编程语言的内置功能的预定义关键字。例如,var let 关键字用于定义变量,function 关键字用于定义函数,等等。JavaScript 包含超过 50 个保留关键字。

简单来说,您不能将保留关键字用作标识符。如果这样做,则会出现冲突,并且代码将生成错误的输出或引发错误。

例如,下面的代码将引发错误,因为 'function' 被用作标识符。


var function = "Hello";

保留关键字

这是保留关键字的列表;您不能将它们用作标识符 -

abstract double implements return
arguments else in switch
await enum instanceof synchronized
boolean eval int this
break export interface throw
byte extends let throws
case false long transient
catch final native true
char finally new try
class float null typeof
const for package var
continue function private void
debugger goto protected volatile
default if public yield
delete implements short while
do import static with
double in super

在 ES5 和 ES6 中添加的保留关键字

在 JavaScript 的 ES5 和 ES6 版本中添加了一些新关键字。但是,有些关键字当前正在使用中,而有些关键字保留给将来的版本。

await class enum export
extends import let Super

已删除的保留关键字

一些保留关键字已从 JavaScript 中删除,您无法使用这些关键字来实现特定功能。不过,您不能将下面的关键字用作标识符,因为许多浏览器不支持它们。

abstract boolean byte char
double final float goto
int long native short
synchronized throws transient volatile

JavaScript 对象、属性和方法

不应使用 JavaScript 内置对象、属性和方法名称的名称作为标识符。

JavaScript 内置对象

Array ArrayBuffer Boolean DataView
Date Error eval Float32Array
Float64Array Function Generator GeneratorFunction
Int8Array Int16Array Int32Array Intl
JSON Map Math Number
Object Promise Proxy RangeError
ReferenceError Reflect RegExp Set
String Symbol SyntaxError TypeError
Uint8Array Uint8ClampedArray Uint16Array Uint32Array
URIError WeakMap WeakSet

JavaScript 内置属性

length constructor prototype __proto__ caller callee

JavaScript 方法

toString shift indexOf split
toLocaleString unshift lastIndexOf substr
valueOf slice includes substring
toLocaleDateString splice isArray toLowerCase
toLocaleTimeString sort from toLocaleLowerCase
toLocaleString forEach of toUpperCase
toFixed map charAt toLocaleUpperCase
toExponential filter charCodeAt trim
toPrecision reduce codePointAt startsWith
concat reduceRight normalize endsWith
join every repeat match
pop some replace test
push find search reverse
findIndex slice

但是,您可以探索更多内置 JavaScript 方法,并避免将它们用作标识符。

其他保留关键字

JavaScript 可以与其他编程语言一起使用,如 HTMLJava 等。因此,您还应该避免在 HTML、Java 等中保留的关键字。

这是其他保留关键字的列表,其中大多数是 'window' 对象的属性。

alert elements frameRate radio
all embed hidden reset
anchor embeds history screenX
anchors encodeURI image screenY
area encodeURIComponent images scroll
assign escape offscreenBuffering secure
blur event open select
button fileUpload opener self
checkbox focus option setInterval
clearInterval form outerHeight setTimeout
clearTimeout forms outerWidth status
clientInformation frame packages submit
close innerHeight pageXOffset taint
closed innerWidth pageYOffset text
confirm layer parent textarea
constructor layers parseFloat top
crypto link parseInt unescape
decodeURI location password untaint
decodeURIComponent mimeTypes pkcs11 window
defaultStatus navigate plugin document
navigator prompt element frames
propertyIsEnum

HTML 事件处理程序

在 JavaScript 中,你不应该使用 HTML 甚至处理程序作为变量名称。

在这里,我们列出了一些事件处理程序。

onclick ondblclick onmouseover onmouseout
onmousemove onkeydown onkeyup onkeypress
onfocus onblur onchange onsubmit
onreset onload onunload onresize
onscroll

简而言之,您应该避免将上述所有关键字用作变量或函数名称。