const 和 let:给变量安排'固定座位'
1. var 是什么?
var 类似于早年那种随便找个空位坐的客人。位置可以重复用、可以覆盖、作用域混乱。
2. let 和 const 是什么?
let是给每个客人安排编号座位。const是直接写死:'这个座位永远给张三。'
3. 为什么性能会更好?
因为 JavaScript 引擎(比如 V8)更容易预测变量行为。
当变量满足以下条件时:
- 作用域清晰(块级作用域)
- 不会被意外修改(const)
引擎就能做更激进的优化,例如:
- 寄存器分配优化
- 避免重复查找
- 更好的 inline cache
具体对比如下:


