• 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";
    }
    }
  • 相关阅读:
    mysql通过data目录恢复数据库
    CentOS安装TortoiseSVN svn 客户端
    CentOS上安装Node.js
    PHP--进行模块化设计
    PHP开发绝对不能违背的安全铁则
    达内培训:php在线端口扫描器
    使用 PHP 限制下载速度
    使用无限生命期Session的方法
    使用php作linux自动执行脚本
    腾讯星座运势api
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12284891.html
Copyright © 2020-2023  润新知