ES6模块不是对象,而是通过export命令显示指定输出的代码,输入时也采用静态命令的形式。
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
所谓Promise,就是一个对象,用来传递异步操作的消息。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的API,可供进一步处理。
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
Generator函数是Es6提供的一种异步编程解决方案,语法行为与传统函数完全不同。
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
ES提供了新的数据结构——Set。它类似于`数组`,但是每个成员的值都是唯一的,没有重复的值。
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
由于视图的构造函数可以指定起始位置和长度,所以在同一段内存中可以依次存放不同类型的数据,这叫作“复合视图”
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
二进制数组(ArrayBuffer对象、TypedArray视图和DataView视图)是JavaScript操作二进制数据的一个接口
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第7种数据类型。
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
Array.from方法用于将两类对象转为真正的数组:类似数组对象(array-like object)和可遍历(iterable)对象(包括ES6新增的数据结构Set和Map)。
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
ES6加强了对Unicode的支持,并且扩展了字符串对象。
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)
ES6新增了let命令,用于声明变量。其用法类似于var,但是所声明的变量只在let命令所在的代码块内有效。
'%3e%3cpath%20d='M624.68,512.43a16,16,0,0,1,0,22.63l-45.25,45.25a16,16,0,0,1-22.63-22.63l45.26-45.25a16,16,0,0,0,.19-22.43Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M602.25,490l-34.13-34.13h0L556.8,444.55a16,16,0,0,0-22.63,0l22.63-22.63a16,16,0,0,1,22.63,0l67.88,67.88a16,16,0,0,1,0,22.63l-22.63,22.63a16,16,0,0,0,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpolygon%20points='219.66%2038.63%20219.66%2038.64%20208.34%2027.32%20219.66%2038.63'%20fill='%23fff'%20/%3e%3cpath%20d='M534.17,444.55a16,16,0,0,1,22.63,0l11.32,11.32-45.26,45.25L511.55,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M466.29,557.68a16,16,0,0,1-22.62,0l-11.32-11.31,45.26-45.25,11.31,11.31a16,16,0,0,1,0,22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M443.67,557.68a16,16,0,0,0,22.62,0l-22.62,22.63a16,16,0,0,1-22.63,0l-67.88-67.88a16,16,0,0,1,0-22.63l22.62-22.63a16,16,0,0,0,0,22.63l22.63,22.63,33.94,33.94Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M421,421.92a16,16,0,0,1,22.63,22.63L398.41,489.8a16,16,0,0,0-.06,22.56L375.78,489.8a16,16,0,0,1,0-22.63Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3cpath%20d='M398.35,512.36l.06.07L375.78,489.8Z'%20transform='translate(-348.47%20-417.23)'%20fill='%23fff'%20/%3e%3c/g%3e%3c/svg%3e)