《ES6标准入门》之阮一峰(一、二、三)

1997 ES1.0
1998 ES2.0
1999 ES3.0------初学的都是这个版本
2000 ES4.0------不过没有通过,很多内容在ES6中实现,也是ES6的起点
2009 ES5------与ES3基本保持兼容
2011 ES5.1------成为国际标准
2015 ES6------成为国际标准

Babel:ES6转码器
将ES6---->ES5

Traceur转码器(来自Google):将ES6---->ES5

let:
1、声明的变量只在代码块内有用,以前js是没有块级作用域的概念的
2、没有变量提升,一定要““先声明后使用””
3、暂时性死区
4、不允许在相同作用域声明同一个变量(要理解相同作用域)

const:
1、声明常量,不可改变
2、只声明不赋值会报错
3、作用域和let相同
4、也存在暂时性死区
5、也不可重复声明变量
6、于对象而言,存的是地址,不变的也是地址

ES6有6种声明变量的方法:
1)var
2)function
-----------以上两种声明的全局变量是window对象的属性
3)let
4)const
5)class
-----------以上三种生命的全局变量不是window对象的属性
6)import

解构赋值:
1、数组的解构赋值:
从数组中提取值,按照位置顺序给各个变量赋上
允许指定默认值

2、对象的解构赋值:
由于属性没有次序,因此变量名必须和属性名相同
不同名时,采用 属性名:变量名 结构
也可以指定默认值

3、字符串的解构赋值:
类似数组

4、数值和布尔值的解构赋值:
数值或者布尔值,先转换为对象

5、函数参数的解构赋值:

你可能感兴趣的:(《ES6标准入门》之阮一峰(一、二、三))