JavaScript 保留关键字

什么是保留关键字

JavaScript 把一批单词留作自己使用,比如 var、if、for、new,这些称为关键字(keyword);另有一些单词暂时没用到,但语言规定"留给将来",称为未来保留字。它们的共同点是:不能用作变量名、函数名或标识符,否则会报语法错误。

常用关键字一览

按用途分类最方便记忆:

类别关键字
声明var、let、const、function、class、import、export
流程控制if、else、switch、case、default、break、continue、return
循环for、while、do
异常try、catch、finally、throw
其他new、delete、typeof、instanceof、in、of、this、void、yield、await

错误示范与正确写法

把关键字当变量名会立刻报语法错误:

// var if = 1;        // 语法错误:if 是关键字
// var class = "x";   // 语法错误:class 是关键字
var myIf = 1;         // 正确:换个名字即可
var className = "x";  // 正确
console.log(myIf, className); // 输出:1 x

对象属性名虽然可以是关键字,但为了兼容旧浏览器与易读性,仍建议避免:

var obj = { default: 1, new: 2 }; // 部分场景可用,但不推荐
console.log(obj["default"]);      // 输出:1

字面量 true / false / null

true、false、null 也属于"保留字",只能作为值使用,不能当变量名:

var isOk = true;   // 正确:作为值
var nothing = null; // 正确:作为值
// var true = 1;   // 错误:不能给 true 赋值
console.log(isOk, nothing); // 输出:true null

严格模式下的额外保留字

在 "use strict" 严格模式下,implements、interface、package、private、protected、public、static、yield 等也被禁止用作标识符:

"use strict";
// var static = 1; // 严格模式下报错
var staticValue = 1; // 正确
console.log(staticValue); // 输出:1

编写建议

起名时避开所有保留字,方法很简单:不用单个英文单词做变量名,多用有含义的组合词,如 userName、myClass、totalCount,既避免冲突又表意清晰。

小结

保留关键字是语言留给自身的单词,不能当标识符使用。按用途分组记忆、起名时避开单词本身、注意严格模式的额外限制,就能避免这类低级语法错误。

笔记加载中…