JavaScript const let区别

共同点:
1.ES6新增关键字
2.没有变量提升行为
3.存在暂时性死区
4.同一块级作用域内不能重复申明
不同点:
const:
1.const 定义:ES6中用来申明只读常量的关键字。
2.const只读,一旦声明只能读取不能更改初始赋值(对象和数组除外,因为const定义的基本数据类型指向的内存地址里存的是数值,而用const来定义对象和数组时,内存地址里面存的是引用,const只能保证指向的内存地址不变,不能保证内存地址里的引用不变。因此,如果想要const定义的对象和数组的属性和内容都不变则可以用Object.freeze去冻结)。
3.const不能只声明不赋值,因为是只读常量,所以必须在声明的同时赋值,只声明不赋值会报错(SyntaxError: Missing initializer in const declaration)。
let:
1.let定义:ES6用来申明变量的关键字,类似var。
2.let用来声明变量,声明时可以不赋值。
3.let申明的是变量,在作用域内可以修改变量的值。

官方文档地址:https://es6.ruanyifeng.com/#docs/let

你可能感兴趣的:(JavaScript const let区别)