zoukankan      html  css  js  c++  java
  • js合并对象

    Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

    语法

    Object.assign(target, ...sources);

    参数

    • target: 目标对象
    • sources 源对象

    返回值

    • 目标对象

    示例

    <script>
        let form = {name: 'liming', sex: '男'};
        let obj = {class: '一班', age: 15};
        console.log('before', form);
        Object.assign(form, obj);
        console.log('after', form);
    </script>
    

      

    描述

    如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。
    Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。该方法使用源对象的[[Get]]和目标对象的[[Set]],所以它会调用相关 getter 和 setter。因此,它分配属性,而不仅仅是复制或定义新的属性。如果合并源包含getter,这可能使其不适合将新属性合并到原型中。为了将属性定义(包括其可枚举性)复制到原型,应使用Object.getOwnPropertyDescriptor()Object.defineProperty()
    String类型和Symbol类型的属性都会被拷贝。
    在出现错误的情况下,例如,如果属性不可写,会引发TypeError,如果在引发错误之前添加了任何属性,则可以更改target对象。
    注意Object.assign 不会跳过那些值为 [null] 或 [undefined]的源对象。



  • 相关阅读:
    轻量级通用上采样算子-CARAFE
    图像分割-Mask Scoring R-CNN
    对C#Chart控件使用整理
    C#中的三种timer
    C#的三大难点
    将Excel的数据导入DataGridView中(转)
    状态者设计模式
    C# 中 DataTable 使用详解。
    Excel连接字符串在.NET中的应用
    状态机设计思想
  • 原文地址:https://www.cnblogs.com/xiaocuncheng/p/11063347.html
Copyright © 2011-2022 走看看