zoukankan      html  css  js  c++  java
  • 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);
    
    }

    三、新增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'
      // }
    }
  • 相关阅读:
    UVa 1592 Database(巧用map)
    TZOJ 4746 Xiangqi(模拟棋盘数组)
    TZOJ 1545 Hurdles of 110m(01背包dp)
    TZOJ 2754 Watering Hole(最小生成树Kruskal)
    TZOJ 1242 求出前m大的数(预处理)
    TZOJ 5280 搜索引擎(模拟字符串)
    TZOJ 4865 统计单词数(模拟字符串)
    TZOJ 5279 马拉松比赛(广搜)
    [luogu4735]最大异或和
    小奇回地球
  • 原文地址:https://www.cnblogs.com/diasa-fly/p/7007559.html
Copyright © 2011-2022 走看看