zoukankan      html  css  js  c++  java
  • es6-对象扩展

    1.简洁表示法

    {  let o=1;

    let k=2;

    let es5={  o:o,  k:k  };

    let es6={  o,  k  };

    console.log(es5,es6);

    }

    es6比es5表示要简洁一些

    方法的简洁表达

    let es5_method={

    hello:function()

    {  console.log('hello');  }

    };

    let es6_method={

    hello()

    {  console.log('world');  }

    }

    console.log(es5_method.hello(),es6_method.hello());

    2.属性表达式

    {  let a='b';

    let es5_obj={  a:'c',  b:'c'  };

    let es6_obj={  [a]:'c'  }
    console.log(es5_obj,es6_obj);

    }

    在es5中,a的值没有改变,在es6中,a的值在之前赋值时就已经改变了,这种方便对象名因为另一个值做变换,可以实现变量的依赖

    3.新怎API

    判断字符串是否相等

    {  console.log('字符串',Object.is('abc','abc'),'abc'==='abc');

    console.log('数组',Object.is([],[]),[]===[]);  }

    这里object.is()其实是等价于===的,而第二个数组虽然值都是空的,但是数组返回的是数组的地址,两个地址是不一样的,所以是false

    拷贝

    console.log('拷贝',Object.assign({a:'a'},{b:'b'}));

    这个API将前后的对象合并成了一个对象,而且是一个前拷贝,这个API不能做后拷贝,如果这个对象还有继承,这个API是不会拷贝继承的,也不可拷贝对象中不可枚举的属性

    entries

    let test={k:123,o:456};

    for(let [key,value] of Object.entries(test))

    {  console.log("qq",[key,value]);  }

    这个可以取得对象里面的值

    扩展运算符

    let {A,B,...C}={a:'test',b:'kill',c:'ddd',d:'sss'}

    其中C={

    c:'ddd',

    d:'sss'

    }

  • 相关阅读:
    Linux下查看文件和文件夹大小的df和du命令(链接)
    路由的原理和作用[赛迪网]
    select 好用插件
    如何启动/停止/重启MySQL
    Spirng quartz 整合
    String,StringBuffer与StringBuilder的区别
    如何给input[file]定义cursor
    dns简介
    浏览器高级对象
    shell 学习文章列表
  • 原文地址:https://www.cnblogs.com/ellen-mylife/p/11083013.html
Copyright © 2011-2022 走看看