ECMAScript 6 学习总结
1.什么是ES6?
es6是javascript语言的下一代标准 , 使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
2.let和const
2.1let命令
let命令有以下几个特点
(1).let声明的变量只在let命令所在的代码块内有效
{ let a = 1; var b = 2; console.log(a);//输出1 console.log(b);//输出2 }
console.log(a);//报错
console.log(b);//输出2
(2).不能重复声明
let只能声明一次,再次声明let的话会报错
let a = 1; let a= 2 ;//报错,
(3).不存在变量提升
let不存在变量提升 var 存在变量提升
console.log(a); //这时候a没有声明,a在下面声明了,但是let不存在变量提升所以此时的a是没有声明的。 let a = "apple"; console.log(b); //undefined 变量b此时也是没有声明的,不过b是用var在下面声明的,var声明的变量存在变量提升,所以此时的b已经声明过了,只是没有定义。 var b = "banana";
(4).暂时性死区
只要块级作用域内存在let声明的变量,那这个块级作用域就被let绑定在这个区域,不在受外界影响
var a =1 { a = 2;//这时此行代码会报错,因为是先赋值然后才在下面用let声明了变量,所以此行代码就会直接报错。 let a =3; }