1.什么是ES6 ?
ESMAScript 6.0(以下简称ES6
)是 JavaScript
语言的下一代标准,已在2015年6月正式发布。它的目标:是使JavaScript
语言可以编写复杂且大型应用,成为企业级开发语言。ES6
既是一个历史名词,也是一个泛指,泛指涵盖了ES2015、ES2016、ES2017等的下一代JavaScript语言标准。 标准委员会规定每年6月正式发布一次标准,作为当年的正式版本。
2.了解Babel转码器
Babel是一个广泛使用的ES6
转码器,可以将ES6
代码转为ES5
,从而在老版本的浏览器中执行。不过现在的开发当中几乎不会用到了;所以说:你可以使用ES6
的方式编写程序,也不用担心现有的环境是否支持。
// 转码前
input.map(item => item + 1);
// 转码后
input.map(function(item){
return item + 1;
})
上面的原始代码用了箭头函数,Babel
将其转为普通函数,就能在不支持箭头函数的 JavaScript
环境执行了。目前各大技术栈(React/Vue/Angular
)的脚手架项目都在使用babel
作为默认的语言标准转码工具,可以在.babelrc
文件中进行更多的自定义配置。
我们也可以通过官方提供的REPL在线编译器来体验Babel
转码。
3.变量的解构赋值
ES6
允许按照一定模式,从不同类型数据中提取值,然后对变量进行赋值,并且快读从对象或者数组里面获取一些数据,这杯称为:解构赋值
3.1 数组的解构赋值
在之前;我们给变量赋值只能直接指定一个变量值
let a = 12;
let b = 11;
let c = 10;
在ES6
之后,就可以写成这样的
let [a, b, c] = [1, 2, 3];
上面的代码表示,可以从数组中提取数值,按照对应的位置,对变量赋值。本质上,这种写法属于"匹配模式",只要等号两边的模式相同,左边的变量就会被赋予对应的值,而解构赋值允许指定的默认值。
3.2 对象的解构赋值
对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值:
语法:let {key1, key2, ...} = {键值对1, 键值对2, ...}