1、数组的扩展
(1)扩展运算符的应用
复制数组、合并数组、可以与解构赋值结合起来,用于生成数组、扩展运算符还可以将字符串转为真正的数组、任何Iterator接口的对象,都可以用扩展运算符转为真正的数组
如果对没有Iterator接口的对象,使用扩展运算符,将会报错
(2)Array.from()
Array.from方法用于将两类对象转为真正的数组:类似数组的对象和可遍历的对象(包括ES6新增的数据结构Set和Map)
(3)Array.of()
Array.of方法用于将一组值转换为数组
2、对象的扩展:
(1)Object.assign()
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性复制到目标对象(target)
JavaScript语言的前六种数据类型:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object),ES6引入了Symbol表是独一无二的值
3、Promise对象
应用:(1)加载图片(2)Generator函数与Promise结合
4、模块化加载
(1)CommomJS定义的模块:{引用模块(require)}、{模块定义(exports)}、{模块标识(module)}
require()用来引入外部模块;exports对象用于导出当前模块的方法或变量,唯一的导出口;module对象就代表模块本身,CommonJS是主要为了JS在后端的表现制定的,不适合前端
(2)AMD(异步模块定义)
AMD规范衍生的背景:浏览器的模块不能采用“同步加载”,只能用“异步加载”
AMD的规定:模块必须采用特定的define()函数来定义,如果一个模块不依赖其他模块,那么可以直接定义在define()函数之中。如果这个模块还依赖其他模块,那么define()函数的第一个参数,必须是一个数组,指明该模块的依赖性。