整理!JS新特性介绍(部分)

1、指数操作符(**)

ES7(2016)
2*10 => ?
2**10 => ??
2***10 => ???

2、Object 相关

  1. Object.values()

返回一个指定对象的所有可枚举属性值的数组

Object.values({a: 1, b: 2, c: 3})
  1. Object.keys()

返回一个指定对象的所有可枚举属性的字符串数组

Object.keys({a: 1, b: 2, c: 3})
  1. Object.entries()

返回一个数组,成员是参数对象自身

Object.entries({a: 1, b: 2, c: 3})

3、string padding

字符串补全长度

padStart && padEnd

// 该方法默认空格补全



//需要补全
'x'.padStart(6, 'ab')
'x'.padStart(5, 'ab')

'x'.padEnd(6, 'ab')
'x'.padEnd(5, 'ab')

//位数够了
'xxx'.padStart(2, 'ab') // 'xxx'
'xxx'.padEnd(2, 'ab') // 'xxx'

//补位参数多了
'abc'.padStart(10, '0123456789')
'abc'.padEnd(10, '0123456789')

4、Promise

let a = new Promise((resolve, reject) => {
  resolve('111111')
})

let b = new Promise((resolve, reject) => {
  resolve('22222')
})

let test = (time,fn) => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      fn(`${time / 1000}秒后醒来`)
    }, time)
  })
}

let p1 = test(2000, resolve)
let p2 = test(3000, resolve)
let p3 = test(2000, reject)
let p3 = test(3000, reject)

  1. Promise.any()

Promise.any() 接收一个Promise可迭代对象,只要其中的一个 promise 成功,就返回那个已经成功的 promise 。如果可迭代对象中没有一个 promise 成功(即所有的 promises 都失败/拒绝),就返回一个失败的 promise

  1. Promise.all()

将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。

  1. promise.race()

返回最快的那个结果

Promise.any([a, b]).then(res => {
    console.log(res)
})
Promise.all([a, b]).then(res => {
    console.log(res)
})
Promise.race([a, b]).then(res => {
    console.log(res)
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值