(二)12.对象扩展19-08-09

2019-08-09  本文已影响0人  你坤儿姐
{
  //简洁表示法
  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());
}

打印结果:
{o: 1, k: 2}k: 2o: 1__proto__: Object
{o: 1, k: 2}k: 2o: 1__proto__: Object
hello
hello
undefined undefined

{
  // 属性表达式
  let a='b';
  let es5_obj={
    a:'c',
    b:'c'
  };
  let es6_obj={
    [a]:'c'  
  };
  console.log(es5_obj,es6_obj);
}

打印结果:


屏幕快照 2019-08-09 13.58.29.png
{
  //Object is方法
  //判断字符串是否相等,is方法和===是一样的
  console.log('字符串',Object.is('abc','abc'),'abc'==='abc');
  console.log('数组',Object.is([],[]),[]===[]);
  //两个数组虽然是空,但指针引用的是不同的地址 严格意义上并不相等

  //拷贝  这个拷贝是浅拷贝  只拷贝对象自身的属性如果这个对象还有继承不拷贝继承属性 同事也不会拷贝不可枚举的属性
  console.log('拷贝',Object.assign({a:'a'},{b:'b'}));//拷贝后合并成一个对象
  //entries
  let test={k:123,o:456};
  for (let [key,value] of Object.entries(test)){
    console.log([key,value]);
  }
}

打印结果:
字符串 true true
数组 false false
拷贝 {a: "a", b: "b"}
(2) ["k", 123]
(2) ["o", 456]

上一篇下一篇

猜你喜欢

热点阅读