const、 let 和var的区别
2016-11-18 14:24
567 查看
1. const 和 let 具有块级作用域
外层作用域无法读取内层作用域的变量for(let i=0; i<3; i++){ //do something··· } console.log(i); //--------VM1020:4 Uncaught ReferenceError: i is not defined(…)
2. const 和 let 不会进行声明提升
只能在声明的位置后使用console.log(a); let a = 10; //------VM1694:1 Uncaught ReferenceError: a is not defined(…)
3. const 和 let 不允许在相同的作用域里面重复声明
let a = 1; let a = 2; //----------VM1800:1 Uncaught SyntaxError: Identifier 'a' has already been declared
4. const 和 let 定义的变量/常量不能和函数重名
let foo = 1; function foo(){}; console.log(foo); //----------VM1960:1 Uncaught SyntaxError: Identifier 'foo' has already been declared
5. const 和 let 定义的变量/常量不属于window对象
顶层对象的属性与全局变量挂钩,被认为是JavaScript语言最大的设计败笔之一。即: window既值浏览器窗口,又表示顶层对象。ES6为了改变这一点,一方面规定,为了保持兼容性,var命令和function命令声明的全局变量,依旧是顶层对象的属性;另一方面规定,let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性。
var a = 10; let b = 12; console.log(a,b) //--------10 undefined
6. const 声明的是只读的常量
声明后不能被修改const a = 10; a = 11; //------VM1547:2 Uncaught TypeError: Assignment to constant variable.(…)
相关文章推荐
- const、let、var区别+js严格模式
- js中const,var,let区别
- let var const 区别
- JS中var、let、const区别? 用3句话概括
- JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
- js中var, const, let的区别
- JS中const、let、var之间的区别
- js中let、var、const定义变量的区别
- [Wondgirl]ECMAScript6(ES6)(二)变量let、var和常量const的定义和区别
- JavaScript中const,var,let的区别
- js中const,var,let区别
- JavaScript中const, var, let的区别
- var与ES6中const、let声明的变量的区别
- let、var、const的区别
- ES6 let、var、const联系与区别
- js中const,var,let区别
- var, let, const,、 命令的理解和区别;
- var、let和const的区别?
- js中const,var,let区别
- js中let 、 var 、 const的区别