JavaScript 常见的保留字大全以及注意事项

以下是整理的一个包含 JavaScript 常见保留字列表:

分类关键词说明/注意事项
语句与流程break, case, catch, continue, default, do, else, finally, for, if, return, switch, throw, try, while基本控制流关键字,不能作为标识符使用
运算与类型delete, in, instanceof, typeof, void, new, this运算符/关键字; this 值取决于执行上下文
声明function, var, let, constlet/const 为块级作用域; const 不可重新赋值
模块与类import, export, class, extends, super静态模块语法;类语法糖,仍基于原型链
旧语法with, debuggerwith 不建议使用(影响作用域解析); debugger 触发调试
严格模式保留字implements, interface, package, private, protected, public, static, yield在严格模式中保留;不要用作变量/参数名
生成器上下文yield仅在 function* 内作为关键字使用
异步上下文await在模块或 async 函数上下文为保留字;不能作标识符,如 const await = 1 错误
未来保留enum可能由引擎保留,避免作为标识符
受限标识符eval, arguments严格模式中不可用作变量/参数名
字面量值true, false, null值字面量;不可重定义; undefined 非关键字但不建议覆盖
特殊全局NaN, Infinity, undefined全局属性;避免命名同名变量覆盖它们

JavaScript 命名规范与保留字使用指南:

1、命名冲突规避 

错误示例:var class = 1;正确示例:var clazz = 1; 

错误示例(模块/严格模式):const await = 123;正确示例:const waitMs = 123; 

错误示例(生成器函数内):function* g(){ let yield = 1; }正确示例:function* g(){ const y = 1; }

2、对象属性命名规范 

现代引擎支持保留字作为属性名:const o = { default: 1, delete: 2 } 

兼容性建议(旧版工具链):const o = { "default": 1 }

3、全局对象保护 禁止覆盖内置全局对象:

const Promise = 1 

const Object = {}const JSON = null

4、最佳实践

  1. 始终启用严格模式

  2. 配置 ESLint 相关规则进行检查

特别注意:JavaScript 保留字不可用作变量名、函数名等标识符,使用前请确认其合法性以避免语法错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值