美文网首页
整理!JS新特性介绍(部分)

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

作者: 疯疯疯峰 | 来源:发表于2021-06-27 22:40 被阅读0次

    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)
    })
    
    

    相关文章

      网友评论

          本文标题:整理!JS新特性介绍(部分)

          本文链接:https://www.haomeiwen.com/subject/birfultx.html