zoukankan      html  css  js  c++  java
  • ES6学习总结(五)

    与其说是对象合并,还不如说是JavaScript中对象属性的复制和转移,将多个对象中的属性合并到一个对象中

    1
    2
    3
    4
    5
    6
    7
    8
    var person = {
    name : 'John',
    age : 24
    },
    location = {
    address : 'Location',
    city : 'NewYork'
    } ;
    如何可以做到将上述两个对象中的属性合并到同一个对象中,介绍ES6的一个新的方法,Object.assign,如下:

    1
    Object.assign(target, ...sources) // target为目标对象,sources可以是多个源对象

    这个方法可以帮助我们拷贝多个源对象中所有可以被枚举的自身属性到目标对象中,如果目标对象中的属性与源对象中的属性相同的话,源对象的属性会覆盖目标对象的属性,需要注意的是,这里面可以拷贝的属性必须是可以被枚举的自身属性,一个是可枚举,一个是自身,两个条件是必须的,这个方法作用的过程中,会先调用源对象的getter方法,然后调用目标对象的setter方法,从而达到拷贝属性到目标对象的目的

    大专栏  ES6学习总结(五)y>
    1
    2
    3
    Object.assign(person,location); 

    name , age , address, city */

    在ES6里面我们使用Obj.assign,我们也可以用ES5来模拟Obj.assign,需要注意拷贝自身的可枚举属性

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function (target, source) {
    if (typeof target === 'object' && typeof source === 'object') {
    for (var key in source) {
    if (fromObj.hasOwnProperty(key)) {
    target[key] = source[key];
    }
    }
    }else{
    throw "Assign function can apply only on object";
    }
    }
  • 相关阅读:
    学习使用&运算符
    企业发放的奖金根据利润提成。
    取一个整数a从右端开始的47位。
    jQuery Select操作大集合
    js 获取某年某月的最后一天
    sql 语句区分大小写查询
    js 冒泡排序
    一个初学者的程序自学计划
    JWNL体验
    (转)GIS相关的SCI、EI期刊
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12284891.html
Copyright © 2011-2022 走看看