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

摘要: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. 变量命名尽量语义化,优先见名知意,不要图省事乱起名。
相关推荐
§ꦿCFོ༉21 分钟前
嵌入式八股文—C语言入门学习(四)
c语言·开发语言·学习
投图匠41 分钟前
十种不同风格的 CTP接口 框架
开发语言·python
treasure1403 小时前
【复古】浅尝Django前后端不分离
前端·css·python·django·bootstrap·html·web
jay神4 小时前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计
屏什么录4 小时前
长时间录屏中途崩溃:MP4 打不开的 6 种救回方案与参数设置
前端·音视频开发
爱笑的k114 小时前
nano-vllm 源码剖析:千行 Python 手写离线推理引擎的调度、显存与并行时序
开发语言·python·vllm
code_Bo4 小时前
不只命令行:我把跨 Agent 会话同步做成了桌面应用
前端·javascript·后端
kyriewen4 小时前
AI 能把页面写出来,为什么改个需求就开始崩?
前端·javascript·人工智能
OpsEye4 小时前
同一套用例跑两个大模型接口,差异到底出在哪
javascript·ai编程
X1A0RAN5 小时前
PPT 图片批量处理教程:导出全部幻灯片 · 提取全部素材
开发语言·javascript·powerpoint