最安全的变量声明方式是默认用 const,仅当需重赋值时用 let,禁用 var;const 表达绑定不可变,适用于所有类型,let 仅用于明确需重赋值的块级场景。

最安全的变量声明方式是:默认用 const,仅当变量后续必须重新赋值时才改用 let,彻底避免使用 var。
const 是默认首选
只要变量初始化后不再指向新值,就该用 const。它明确表达“绑定不可变”,既防止意外覆盖,也便于引擎优化和静态分析。
- 基本类型(string、number、boolean 等)用 const 可杜绝误赋值
- 对象、数组、函数、正则等引用类型同样适用 const——你仍可修改其内部属性或元素,只是不能让变量名重新指向另一个值
- 例如:
const user = { name: 'Alice' };合法;但user = { name: 'Bob' };会立即报错
let 仅用于明确需要重赋值的场景
let 表示“这个变量后续会变”,它的块级作用域和暂时性死区(TDZ)机制天然更安全。
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
- for 循环计数器:
for (let i = 0; i ,每次迭代有独立绑定,避免闭包陷阱 - 条件分支中不同路径赋不同值:
let result; if (ok) result = 'yes'; else result = 'no'; - 函数内中间状态更新,如累加器、临时结果缓存
var 应完全退出新代码
var 的函数作用域、变量提升、隐式全局污染等特性,在现代开发中全是风险点。
- 在 if 或 for 块内用 var 声明,变量会泄漏到整个函数作用域
-
console.log(a); var a = 1;不报错却输出 undefined,掩盖逻辑错误 - 未声明直接赋值(如
x = 1)会悄悄挂到全局对象上,严格模式下直接报错,但非严格模式下隐患巨大
配合严格模式加固安全
在脚本顶部或函数开头加上 "use strict";,能提前捕获更多不安全操作。
- 禁止隐式全局变量(
x = 1直接报错) - 禁止重复参数名、静默失败的只读属性赋值
- 让 this 在非对象调用时为 undefined,而非意外指向全局对象
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










