zoukankan      html  css  js  c++  java
  • ES6系列_9之对象

     1.对象赋值

    es5中的对象赋值方式如下:

    let name="小明";
    let skill= 'es6开发';
    var obj= {name:name,skill:skill};
    console.log(obj);

    结果为:

    ES6允许把声明的变量直接赋值给对象,例如:

    let name="小明";
    let skill= 'es6开发';
    var obj= {name,skill};
    console.log(obj);

    结果与上述相同。

    2.对象Key值构建

    有时候我们会在后台取出key值,而不是我们前台定义好的,这时候我们可以我们可以把后台定义的key值重新构建返回给后台。

     在前端我们可以用[ ] 的形式,进行对象的构建。

    let key='skill';//假定是后台定义的key值
    var obj={
        [key]:'web'  //构建key值
    }
    console.log(obj.skill);//web

    3.自定义对象方法

     对象方法就是把对象中的属性,用匿名函数的形式编程方法。

    var obj={
        add:function(a,b){
            return a+b;
        }
    }
    console.log(obj.add(1,2));  //3

    4.Object.is( ) 对象比较

    ES5的对象比较方法,经常使用===来判断,如下:

    var obj1 = {name:'admin'};
    var obj2 = {name:'admin'};
    console.log(obj1.name === obj2.name);//true

    ES6为我们提供了is方法进行对比,如下:

    var obj1 = {name:'admin'};
    var obj2 = {name:'admin'};
    console.log(Object.is(obj1.name,obj2.name))//true

    区分=== 和 is方法的区别是什么,看下面的代码输出结果。

    console.log(+0 === -0);  //true
    console.log(NaN === NaN ); //false

    console.log(Object.is(+0,-0)); //false console.log(Object.is(NaN,NaN)); //true

    记忆为:===为同值相等,is()为严格相等。

    6.Object.assign( )合并对象

    使用assgin( )可以实现像数组一样的合并操作。

    var a={a:'a'};
    var b={b:'b'};
    var c={c:'c'};
    let d=Object.assign(a,b,c)
    console.log(d);

    结果为:

  • 相关阅读:
    UVALive 7141 BombX
    CodeForces 722D Generating Sets
    CodeForces 722C Destroying Array
    CodeForces 721D Maxim and Array
    CodeForces 721C Journey
    CodeForces 415D Mashmokh and ACM
    CodeForces 718C Sasha and Array
    CodeForces 635C XOR Equation
    CodeForces 631D Messenger
    田忌赛马问题
  • 原文地址:https://www.cnblogs.com/wfaceboss/p/10056087.html
Copyright © 2011-2022 走看看