ECMAScript 6(简称ES6)是JavaScript语言的最新标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015。
微信小程序支持绝大部分ES6的新增特性。
ES6新特性:Constants(常量)、Scoping(作用域)、Arrow Functions(箭头函数)
ES6新特性:Template Literals(模板对象)、Extended Literals(字面量的扩展)、Enhanced
Regular Expression(增强的正则表达式)、Enhanced Object
Literals(增强的对象字面量)、Destructuring Assignment(解构赋值)
ES6新特性——类:Class Definition(类的定义)、Class
Inheritance(类的继承)、Getter/Setter、Static Members(静态成员)
ES6新特性:Symbol Type、Iterators(迭代器)、Set、Map数据结构、Typed Arrays(类型化数组)
ES6新特性——内建对象的变化:ES6对Object、Array、String、Number、Math等原生对象添加了许多新的API
ES6新特性——元编程:ES6新增了Proxy和 Reflect特性,扩展了元编程(Meta
Programming)能力,允许拦截并定制基础语言操作行为(比如,属性查找,赋值,枚举,函数调等)
ES6新特性——模块:ES6在语言规格的层面上,实现了模块功能,而且实现得相当简单,完全可以取代现有的CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案。
ES6新特性——国际化与本地化:ES6新增了很多对于国际化的支持,比如时间格式,货币格式,数字格式等。
ES6新特性应用:不需要申明严格模式,用块级作用域代替IIFES,使用for…of循环,通过变量解构交换两个变量的值,使用展开运算符和剩余操作符,比较两个值是否严格相等,对象属性复制
ES6新特性应用:可子类化的内建对象、通过子类工厂实现简单的合成器、使用weakmaps实现私有实例成员、尾调用优化、自定义错误类
其他
完整代码:https://github.com/guyoung/Gy…
微信小程序Canvas增强组件WeZRender:https://github.com/guyoung/We…