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

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

一、什么是标识符

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

二、关键字(Keyword)

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

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

举一些日常高频见到的关键字: varletconstifelseforwhilefunctionreturnswitchbreakcontinuetrycatch等。

❌错误示范:

复制代码
// 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. 区分大小写:Namename是两个不同变量

  4. 推荐驼峰命名法:userInfouserName,见名知意

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

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

六、开发小结

  1. 如果遇到莫名其妙的SyntaxError语法报错,先检查是不是变量名不小心写了关键字。
  2. 不用死记全部关键字列表,编辑器(VSCode)会高亮提示,高亮的 JS 内置单词就不要拿来命名。
  3. 关键字直接禁用;保留字虽然部分环境不会报错,但同样坚决不用,防止后续版本迭代出隐性 bug。
  4. 变量命名尽量语义化,优先见名知意,不要图省事乱起名。
相关推荐
labixiong1 小时前
transition 写在 CSS 变量上为什么不生效?给变量补张「类型身份证」
前端·css·html
cpp_learners1 小时前
C++ 实现责任链模式(Chain of Responsibility):从一堆 if-else 到可插拔的处理管道
开发语言·c++·责任链模式
YHL1 小时前
🧠 Agent 记忆进阶:总结压缩与向量检索 —— 从截断到 Milvus 长期记忆
前端·人工智能
YHL1 小时前
🎯 JavaScript 单例模式(Singleton Pattern)—— 从理论到实战
javascript·设计模式
君顾11 小时前
外卖CPS软件开发实战:从系统架构到部署全流程指南
java·开发语言·外卖
用户921080262861 小时前
前端 Vue 专栏 05:从 Object.defineProperty 到 Proxy,彻底理解 Vue 响应式原理
前端
Fluxart.ai2 小时前
GPT Image 2.5 有使用次数限制吗?额度、并发、频率限制说明
服务器·前端·gpt
AIFQuant2 小时前
Python实时外汇行情接入实战:WebSocket与REST K线查询
开发语言·python·websocket
程序员海军2 小时前
AI 越来越强,为什么打工人反而越来越累、越来越内耗了?
前端·程序员·aigc
vx_Biye_Design2 小时前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计