转下ES6的10个重要特性
箭头函数在定义时已经绑定了this
ES6增加了Class类的继承,不过这不会改变原型继承的原理,这里的class其实是原型继承基础上的语法糖
对象的语法被加强了,可以更容易的:
具有相同名称的属性赋值定义函数定义动态属性拼接字符串、替换变量更加方便
给函数参数定义了默认值,当没有传入值的时候值就为默认值
合并数组:
const a = [...[1,2],...[3,4,]] //[1,2,3,4]还可以解构对象等操作
剩余操作符 function a(a, b,...rest){ }使用一个变量接收参数中剩下的所有参数
Promise实际上是你对一个延迟返回的结果的一个期望。 Promise有两个通道:第一个是返回的结果,第二个是可能的错误。 获取结果,为Promise的then方法提供一个回调函数。 捕获发生的错误,为Promise的catch方法提供一个回调函数。
function asyncFunc() { return new Promise((resolve,reject)=>{ setTimeout(()=>{ const result = Math.random(); result > 0.5 ? resolve(result) : reject('I can not calculate') },1) }); } for(let i=0;i<10;i++){ asyncFunc() .then(result=> console.log('Result is='+result)) .catch(result=> console.log('Error: '+result)) }