关于const的使用
老师,您为什么一直用const生命变量,这不是用来定义常量吗?
会不会有点乱用呀?
老师,您为什么一直用const生命变量,这不是用来定义常量吗?
会不会有点乱用呀?
2017-12-04
const 表示不可变,字面意思习惯上认为是常量。在编译型语言里,编译过程中可以把常量直接编译成字面值,减少寻址,但 JS 是解释型,达不到这个效果,所以它实际表示的是 readonly。声明 const 的意思表示这个值不可变,这样在解释的过程中 JS 引擎可能会据此做一些优化(具体如何做我并不是很清楚,没去深入研究过)。另外,声明不可变之后,也可以避免不小心改变其值。再者,一般一个变量的意义都是明确的,也很少会需要改变其值的情况,只有少数保存中间数据的临时变量需要重新赋值。所以建议一般采用 const,确实需要改变的,比如循环变量,采用 let。在 ES6 以后可以完全不使用 var。
举报