1.ES6的发展史:
ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了。它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
ECMAScript和js的关系:
ECMAScript是一个语言的标准,js相当于是实现者,为什么这么说
因为我们所用的JavaScript语言就是:ECMAScript+WEBAPI
其实我们现在用的比较多的是ES3.1
1996年ES才正式出现(ES1.0),中间依次为1998年(ES2.0),1998年(ES3.0),大概2007年的时候(ES6)出现,但很快就被废除,因为在编程的过程中不太好用,改动太大,2008年(ES3.1)基于ES4.0上,2009年(ES5.0)正式发布,2013年(ES6)草案完成到2015年(ES6.0)正式发布,从2016年开始就不用版本号,改用年份为代号了,就比如说:ES2015
2.新特性
let声明变量不会挂在window中,不会造成全局的污染
ES6中新增了一个作用域,块级作用域放在{}中如图:
{
let a = 10;
var b = 1;
}
console.log(a)
console.log(b)
a is not defined;后面的代码不在运行了
let不会有声明的提前,
// var 的情况
console.log(a);
var a=2
console.log(a); // 输出undefined 2
// let 的情况
console.log(b);
let b =5 // 报错b is not defined;
let b =5;
console.log(b)//5
这里注意一点其实let声明的是会提前的,会形成暂时死区
let不允许重复声明如图:
{
let a = 10;
var a = 1;} //报错 Identifier 'a' has already been declared
{
let a = 10;
let a = 1;} //报错 Identifier 'a' has already been declared
const (下次再写)