今天无聊温习了一下es6的内容,闲来无事,上班摸鱼给大家分享一篇关于es6内容的文章。
ps:学习es6最好安装node 环境,如果没安装的小伙伴可以去node官网自行下载。
一丶let 和const的区别
不同于es5中大家经常使用的var,let 声明的变量只在 let 命令所在的代码块内有效,const 声明一个只读的常量,一旦声明,常量的值就不能改变.
1.let变量的使用
☆let变量的使用在本质上和var的使用是一样的依旧是{let a =0 }
2.let变量与var变量的区别
☆let变量与var变量的区别在于:let仅仅在我上方的代码块中有效,例如:
{let a = 0} console.log(a);//a is not defind
{var a = 0} console.log(a);//0 也就是var 全局作用域与let块级作用域的区别。
☆let 变量不可重复声明,而var是可以的
{let a = 0 let a = 1 var b = 0 var b = 1};
console.log(a);// Identifier 'a' has already been declared
console.log(b); // 4
☆let 变量不可提前声明,而var是可以的
console.log(a);//a is not defind
let a = 0
console.log(b);//0
var b = 0
所以,强烈建议新手养成使用let的习惯,远离闭包。
3.const变量的特点
☆const 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须赋“赋值”,否则会报错。
☆不会被声明提前(与var的区别)
console.log(a)
const a=2;//a is not defind
☆可以声明块级作用域的变量,块级作用域外无法访问内部变量
if(true){
const a=1;
}
console.log(a)//a is not defind