码迷,mamicode.com
首页 > 其他好文 > 详细

ES6-----学习系列八(对象扩展)

时间:2017-06-14 11:31:36      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:tar   --   表示法   func   blog   get   als   表达式   判断   

一、对象的简洁表示法  

{
  // 简洁表示法
  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);

}

三、新增api (Object.is()判断两个是否相等  相当于===        Object.assign()方法将源对象(source)的所有可枚举属性,复制到目标对象(target) 同名属性会进行覆盖  并且只进行浅拷贝)   

{
  // 新增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)){//这个和数组的entries是一样的,这里就不赘余了
    console.log([key,value]);
  }
}

四、扩展运算符 (这个babel支持的不是很好)  

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

 

ES6-----学习系列八(对象扩展)

标签:tar   --   表示法   func   blog   get   als   表达式   判断   

原文地址:http://www.cnblogs.com/diasa-fly/p/7007559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!