ES6 ECMA为JavaScript制定的第6个标准版本
babel是一个 ES6 转码器,可以将 ES6 代码转为 ES5 代码,以便兼容那些还没支持ES6的平台。
主要的特性
声明:const、let
字符串:新增includes、startWith、endWith,模板字符串
对象数组:扩展操作符,解构赋值,新增is、assign、super代表原型,Set和Map
函数:函数参数默认值、箭头函数、新增[[Call]] 和 [[Construct]] 两个方法
迭代:for in,for of(ES6)
模块化:export、import
数据类型:新增Symbol
类:新增class(严格模型、new调用、临时死区),extends继承
代理:Proxy,创建一个代替目标对象的代理,拦截语言内部的操作
异步编程:Generator(暂停和恢复执行,yield、next),Promise(),async await
var、const、let区别
let、const是es6,const用于声明常量,不能改变
let相比var不会存在声明提前,不会有变量覆盖,有块级作用域
const数组的索引,对象属性能改变。保证变量指向的内存地址所保存的数据不允许改动(即栈内存在的值和地址&