聊一聊前端的常见字 关键字

摘要:JavaScript 中的关键字、保留字是语言内置的特殊词汇,不能拿来做变量名、函数名。本篇简单分清二者概念,了解命名时的避坑要点,减少莫名其妙的报错。

一、什么是标识符

我们写 JS 代码时,给变量、函数、对象属性起的名字 就叫标识符。 标识符不能随便乱写,有一套语法规则,最重要一条:不能使用 JS 的关键字和保留字作为标识符,否则直接语法报错。

二、关键字(Keyword)

关键字:JS 语言本身占用,禁止用作标识符

关键字是 JS 现在版本已经在使用,具备特殊功能的单词。 这些单词已经被语言本身征用,有固定作用,绝对不能拿来当变量名、函数名。

举一些日常高频见到的关键字: var、let、const、if、else、for、while、function、return、switch、break、continue、try、catch等。

❌错误示范:

复制代码
// var是关键字,不能做变量名
let var = 10;  // Uncaught SyntaxError语法错误

浏览器会直接抛出语法错误,代码直接无法运行。

三、保留字(Reserved Word)

保留字:未来版本可能升级为关键字,不建议使用

保留字当前版本暂时还没有实际功能,但是 JS 规范预留下来,留给后续新版本使用。

虽然部分浏览器写代码不会立刻报错,但是强烈不建议拿保留字命名。 一旦 JS 版本更新,该词升级为关键字,旧项目直接就会出现语法崩溃,留下隐藏 bug。

部分保留字举例: class早期属于保留字,ES6 之后正式升级成关键字;还有诸如enum等预留词汇。

复制代码
// 不推荐,enum属于保留字
let enum = 10;

四、关键字 vs 保留字简单对比

表格

类型 特点 后果
关键字 JS 当前正在使用,有固定语法功能 拿来命名 → 直接报错,代码跑不起来
保留字 为 JS 未来版本预留,当前无功能 部分环境不报错,但有版本升级后崩溃风险,禁止使用

共同原则:写代码命名变量、函数,两类词汇全部避开。

五、拓展:JS 标识符基础命名规范

除了避开关键字、保留字,日常命名遵守下面规则:

  1. 可以使用字母、数字、下划线_、美元符号$

  2. 不能以数字开头

  3. 区分大小写:Name和name是两个不同变量

  4. 推荐驼峰命名法:userInfo、userName,见名知意

    // ✅合法
    let user_name = "张三";
    let $num = 100;
    let userInfo = "李四";

    // ❌非法,数字开头
    let 123num = 666;

六、开发小结

  1. 如果遇到莫名其妙的SyntaxError语法报错,先检查是不是变量名不小心写了关键字。
  2. 不用死记全部关键字列表,编辑器(VSCode)会高亮提示,高亮的 JS 内置单词就不要拿来命名。
  3. 关键字直接禁用;保留字虽然部分环境不会报错,但同样坚决不用,防止后续版本迭代出隐性 bug。
  4. 变量命名尽量语义化,优先见名知意,不要图省事乱起名。
相关推荐
LOVE️YOU2 小时前
Python 中 Tuple 为什么有时可 Hash,有时不可 Hash?
开发语言·python·哈希算法
李永奉2 小时前
C语言-指针函数与函数指针及回调函数的使用
c语言·开发语言
小oo呆2 小时前
【学习心得】迭代器和可迭代对象
开发语言·python
AC赳赳老秦2 小时前
采集行为合规自检:OpenClaw 自动校验 robots 协议与采集频率,规避违规采集风险
java·开发语言·c++·python·php·deepseek·openclaw
钱栈up2 小时前
mvn compile 卡死在 javac 阶段:一次类型不匹配的排查与修复
java·开发语言
迅猛龙办公室2 小时前
Python输出当前计算机的系统日期和时间
开发语言·前端·python
杨丰玮4182 小时前
C语言基础知识(一)————各类符号的含义与输入输出库(stdio)
c语言·开发语言
小狼154542 小时前
浏览器扩展脚本为什么有时候不生效:注入时机、iframe 和单页路由,多多开票助手
前端·chrome
じòぴé南冸じょうげん3 小时前
油猴脚本突然发现变成灰色了,无法使用?页面不生效?刷新页面没反应?
前端
程序猿编码3 小时前
工业视觉多任务方案:可编程梯度信息视觉框架,训练评估 + C++ 部署完整实战
开发语言·c++·视觉·推理引擎