美文网首页
ES6 - ECMA2017 - 学习总结

ES6 - ECMA2017 - 学习总结

作者: squidbrother | 来源:发表于2020-07-26 10:56 被阅读0次
    新的概念与方法

    概略图:


    ECMA2017
    基本使用

    字符串扩展 padStart、padEnd

    padStart 字符串在开头填充多少位,填充内容为什么

    'aaa'.padStart(10,'3');  //"3333333aaa"
    

    padEnd 字符串在尾部填充多少位,填充内容为什么

    'w3'.padEnd(10,'c');  //"w3cccccccc"
    

    对象扩展 Object.keys、Object.values、Object.entries 、Object.getOwnPropertyDescriptors
    针对一维对象

    1. Object.keys 获取JSON的键名集合,返回数组;
    Object.keys({"name":"张三","age":18});  // Array [ "name", "age" ]
    
    1. Object.values 获取JSON的键值集合,返回数组;
    Object.values({"name":"张三","age":18});  // Array [ "张三", 18 ]
    
    1. Object.entries 返回键值对(key-value)的数组集合
    Object.entries({"name":"张三","name":李四});   // Array [[ "name", "张三" ],[ "age", 18 ]]
    
    1. Object.getOwnPropertyDescriptors 用于补救Object.assign不能拷贝setter与getter方法的情况
    let source = {
      'mydata':123,     
      set foo(value) {
        this.mydata = value;
      },
      get foo(){
        return this.mydata;  
      }
    };
    
    const target2 = {};
    Object.defineProperties(target2, Object.getOwnPropertyDescriptors(source));
    Object.getOwnPropertyDescriptor(target2, 'foo');
    
    console.log(target2);
    

    允许函数参数尾部使用","号

    function fn1(a,b){ return a+b; };  
    fn1(1,2,);
    

    async await -- 封装generator与执行器,返回一个Promise

    1. 用于处理异步请求,同步化操作;
    2. await 后面接一个Promise对象实例,下例中jquery为高版本,$.ajax返回的是promise
    async function getData(){
      let res1 = await $.ajax({url:'xxx',dataType:'json'});
      let res2 = await $.ajax({url:'xxx',dataType:'json'});
      console.log(res1,res2);
    }
    

    同try catch一起使用,使代码更稳定

    async function getData(){
      try{
        let res1 = await $.ajax({url:'xxx',dataType:'json'});
      }catch(err){
        console.log(err);
      }  
    }
    

    相关文章

      网友评论

          本文标题:ES6 - ECMA2017 - 学习总结

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