ES6总结 8- 对象扩展

2019-05-07  本文已影响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'
  }
}




















上一篇下一篇

猜你喜欢

热点阅读