美文网首页
ES6总结 8- 对象扩展

ES6总结 8- 对象扩展

作者: 辣瓜瓜 | 来源:发表于2019-05-07 22:25 被阅读0次

    ES6学习总结是自己在学习过程中的总结,记笔记就是为了督促自己学习和复习,好记性不如烂笔头。如果有错误,感谢指出。

    简洁表示法

    {
      let o=1;
      let k=2;
      let es5={
        o:o,
        k:k
      };
      let es6={
        o,
        k
      };
      console.log(es5,es6);
    
      let es5_method={
        hello:function(){
          console.log('hello');
        }
      };
      let es6_method={
        hello(){
          console.log('hello');
        }
      };
      console.log(es5_method.hello(),es6_method.hello());
    }
    

    属性表达式

    {
      // 属性表达式
      let a='b';
      let es5_obj={
        a:'c',
        b:'c'
      };
    
      let es6_obj={
        [a]:'c' //[]里面就是一个表达式  这里相当于b:c
      }
    
      console.log(es5_obj,es6_obj);
    
    }
    

    Object新增方法

    判断两个值是否相等

    数组是引用类型的

    {
        console.log('字符串',Object.is('abc','abc'),'abc'==='abc');//true true
        console.log('数组',Object.is([],[]),[]===[]);//false false
    }
    
    拷贝

    仅浅拷贝,仅修改引用地址
    拷贝的是只有自身属性,继承的不拷贝,不拷贝不可枚举的属性

        console.log('拷贝',Object.assign({a:'a'},{b:'b'}));//{a:'a',b:'b'} 
    
    object.entries
      let test={k:123,o:456};
      for(let [key,value] of Object.entries(test)){//这个和数组的entries是一样
        console.log([key,value]);
      }
    

    扩展运算符

    babel支持不是很友好,仅作了解先

    {
      // 扩展运算符
      let {a,b,...c}={a:'test',b:'kill',c:'ddd',d:'ccc'};
      c={
         c:'ddd',
         d:'ccc'
      }
    }
    




















    相关文章

      网友评论

          本文标题:ES6总结 8- 对象扩展

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