let 和 const 用法和区别
ES6 中新增加了 let 和 const 两个命令,let 用于定义变量,const 用于定义常量。两个命令与原有的 var 命令所不同的地方在于,let, const 都是块级作用域,其有效范围仅在代码块中
//var if(ture){ var a = 'varA'; } console.log(a);//varA
//let if(true){ let b = 'letA'; } console.log(b);//undefined
定义常量,const
声明创建一个值的只读引用。但这并不意味着它所持有的值是不可变的,只是变量标识符不能重新分配。例如,在引用内容是对象的情况下,这意味着可以改变对象的内容(例如,其参数)。
//const const c={d:1,e:3}; c.e = 5; console.log(c);//{d:3,e:5}
const f=7; console.log(f);//7 f=9;//Uncaught TypeError: Assignment to constant variable.
常量 c 中的内容定义后,再进行修改依然有效,原因是对于对象类型的使用是指针式引用,常量只是指向了对象的指针,对象本身的内容依然可以被修改,f 则无法被修改