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 则无法被修改
本文介绍了ES6中新增的let和const命令,探讨了它们与传统var命令的区别,特别是在作用域方面。通过示例说明了let和const的使用方式,并解释了const虽然定义为常量,但其引用的对象内容仍可被修改。
1000

被折叠的 条评论
为什么被折叠?



