ES6的10个重要特性

    xiaoxiao2022-07-06  198

    转下ES6的10个重要特性

    一、const和、let关键字

    const、let具有块级作用域,不会造成全局污染强制必须先定义再使用

    二、Array帮助函数

    forEachmapfilterfindeverysomereduce

    三、箭头函数

    箭头函数在定义时已经绑定了this

    四、Class

    ES6增加了Class类的继承,不过这不会改变原型继承的原理,这里的class其实是原型继承基础上的语法糖

    五、增强的对象语法

    对象的语法被加强了,可以更容易的:

    具有相同名称的属性赋值定义函数定义动态属性

    六、模板字符串

    拼接字符串、替换变量更加方便

    七、函数默认参数

    给函数参数定义了默认值,当没有传入值的时候值就为默认值

    八、扩散和剩余操作符

    扩散操作符 const a = ...[1,2,3,4] //1 2 3 4

    合并数组:

    const a = [...[1,2],...[3,4,]] //[1,2,3,4]

    还可以解构对象等操作

    剩余操作符 function a(a, b,...rest){ }

    使用一个变量接收参数中剩下的所有参数

    九、解包

    数组解包 function print([,second,,fourth]){ console.log(second,fourth) } print([1,2,3,4]) //2 4 对象解包 可以把对象的属性解包给同名变量 const person = { name: 'j', age: 21, interest: 'ball' } function print({name,interest}){ console.log(name,interest) } print(person) //j ball

    十、Promise

    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)) }
    最新回复(0)