想象你在家里和公司放东西:
var像是把东西贴在脑门上(哪都能看见),
let像是放在抽屉里(当前房间能用),
const像是焊死在地上的柜子(不能移动)
全局作用域(房子外)
块级作用域(房间内)
var
blockVar
= "房间里"
let
blockLet
= "只有房间内能用"
{{ step + 1 }} / {{ maxSteps }}
💡
核心思想:
var 没有块级作用域,会"泄漏"到外部;let 和 const 有块级作用域,只在声明的作用域内有效。
var 声明的变量可以在全局作用域访问,容易造成命名冲突。
var 可以重复声明,这在大型项目中容易导致难以排查的 bug。
let 和 const 有块级作用域,在 if 块外部无法访问,更安全。
const 声明的变量不能重新赋值,let 可以。推荐优先使用 const,需要重新赋值时用 let。