es6 的对象扩展

//  es6 对象扩展
{
  // 简洁表示法
  let o=1;
  let k=2;
  // es5 写法
  let es5={
    o:o,
    k:k
  };
  // es6 写法
  let es6={
    o,
    k
  };
  console.log(es5,es6); // o=1 k=2

  let es5_method={
    hello:function(){
      console.log('hello');
    }
  };
  let es6_method={
    hello(){
      console.log('hello');
    }
  };
  console.log(es5_method.hello(),es6_method.hello()); // hello  hello
}

{
  // 属性表达式
  let a='b';
  let es5_obj={
    a:'c',
    b:'c'
  };

  let es6_obj={
    [a]:'c'
  }

  console.log(es5_obj,es6_obj); // a:'c' b:'c' ,  b:'c'

}

{
  // 新增API
    // 判断 两个字符串是否相等
  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'}

  let test={k:123,o:456};
  for(let [key,value] of Object.entries(test)){
    console.log([key,value]);
  }
}

猜你喜欢

转载自blog.csdn.net/luzhaopan/article/details/81914799