ES6的10个重要特性

转下ES6的10个重要特性

一、const和、let关键字

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

二、Array帮助函数

  • forEach
  • map
  • filter
  • find
  • every
  • some
  • reduce

三、箭头函数

箭头函数在定义时已经绑定了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))
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值