ES6 var和let和const 的区别
2017-12-11 19:12
615 查看
在ES6中var 和 let 用法都一样,为什么我们还要用let呢?
今天偶跟小伙伴聊天,哎呀,偶俩都感慨互联网发展的太快了,更新换代的炒鸡快,小伙伴感觉脑子都不够用了,偶然间提到了ES6中的let 和 var 的区别,然后感觉还很模糊,然后不知道咋表达,今天回来就想把它整理一下;
下面偶奏来说一说他们的区别;
举两个栗子大家就明白了:
用var 声明的变量
if(true){ var a = 1; console.log(a);//1 可以访问到 } console.log(a);//1 可以访问到
用let声明的变量
if(true){ let a = 1; console.log(a);//1 可以访问到 } console.log(a);// 不可以
上面的这两个栗子,我们可以看出:
用var 声明的a 在包裹它的作用域空间外(代码块外)可以访问到;
而let 声明的a 在包裹它的作用域空间外(代码块外)不可以访问到;
还有就是let不可以同名,而var 可以同名(只不过前一个声明的会被覆盖);
举栗子:
var a = 1; var a =2 ; console.log(a);//2 let b = 1; let b = 2; console.log(b);//(报错鸟)caught SyntaxError: Identifier 'a' has already been declared
说完了let 和 var 的区别,接下来说说 const ;
const 是一个常量,只能声明一次,而且不能重复声明,而且不能更改;
const a = 1; const a = 2; console.log(a);//报错
但是如果定义的常量是一个对象,我们去修改这个常量里的值 不会报错;
const a ={ b:10 } a.b=11; console.log(a.b)//11
如果有什么地方说的不对,欢迎大家指出;
相关文章推荐
- ES6 中的let、const与var的区别
- var与ES6中const、let声明的变量的区别
- js变量中有var定义和无var定义的区别,es6中let命令和const命令
- ES6 let、var、const联系与区别
- [Wondgirl]ECMAScript6(ES6)(二)变量let、var和常量const的定义和区别
- ES5中的var与ES6中的let,const的区别
- Web端 es6(基础一) let var const 的区别
- JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
- es6中的let 和 var 的区别
- ES6中let与var的区别
- js中let、var、const定义变量的区别
- js中const,var,let的区别
- es6中的let声明变量与es5中的var声明变量的区别,局部变量与全局变量
- JavaScript中const、var和let区别浅析
- const、let、var区别+js严格模式
- let、var、const的区别
- let var const 区别
- JS中const,var,let区别
- JavaScript变量声明var,let.const及区别浅析
- ES6----var与let的区别