const声明变量的核心目的是明确标识符不可重新赋值,提升代码可读性与可维护性;适用于配置项、DOM引用、循环变量、解构赋值等场景,并推动不可变编程思维。

用 const 声明变量,不是为了“写死数据”,而是向阅读代码的人明确传递一个关键信号:这个标识符在整个作用域内不会被重新赋值。这种意图表达,直接提升了可读性与可维护性。
让变量意图一目了然
当看到 const API_URL = 'https://api.example.com',读者立刻知道这是个配置常量,后续不会被覆盖;而 let userData 则暗示它可能在流程中被更新。这种命名+声明方式的组合,比加注释更可靠、更不易过时。
- 函数内部不打算修改的参数或中间结果,优先用 const
- 配置项、数学常量、DOM 节点引用(如
const header = document.querySelector('header'))都适合用 const - 避免把本该是常量的值用 let 声明,再靠注释说明“请勿修改”——注释容易被忽略,而 const 是强制约束
减少意外修改带来的逻辑错误
在循环、异步回调或嵌套函数中,用 const 声明索引、配置对象或事件处理器,能从源头防止误操作。比如:
-
for (const item of list) { ... }比for (let item of list)更安全,因为item不会被意外重赋值 -
const options = { timeout: 5000 };后续若有人写options = {...},JS 引擎会立刻报错,而不是静默失败或引发难以追踪的副作用 - 函数参数解构时也适用:
function fetchUser({ id, retry = 3 })中的id和retry默认就是 const 绑定,无需额外声明
配合解构提升语义清晰度
const 和解构赋值天然契合,能让数据提取过程自带业务含义:
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
立即学习“Java免费学习笔记(深入)”;
-
const { title = 'Untitled', author: byline, tags = [] } = post;—— 变量名直指用途,重命名和默认值一并完成 -
const [first, , last] = names;—— 清晰表达只关心首尾,跳过的项无需占位命名 - 从 API 响应中提取:
const { data: items, error: apiError, loading: isLoading } = response;让状态字段命名贴合业务上下文,而非照搬响应结构
推动团队形成一致的不可变思维
当项目中大量使用 const,开发者会自然倾向于把数据处理设计为“生成新值”而非“修改旧值”。这间接鼓励了纯函数、不可变更新(如用展开运算符替代 push)、以及更清晰的状态流转逻辑,长期看显著降低维护成本。
它不复杂但容易忽略。

















