zoukankan      html  css  js  c++  java
  • Object.assign简单总结

    定义

    Object.assign方法用来将源对象source的所有可枚举属性复制到目标对象target。至少需要两个对象作为参数,第一个参数为源对象,后面的均为目标对象。(以下用source代指源对象,target代指目标对象)

    特性

    • 若target与source中有同名属性,则后面的属性覆盖前面的属性
    • Object.assign只复制自身属性,不可枚举属性(enumerable为false)和继承属性不会被复制
    • 属性名为Symbol的属性,也会被复制
    • 对于嵌套的对象,Object.assign的处理方法是替换,而不是添加。(因此无法实现深复制)
    • Object.assign可以处理数组,但是会将其视为对象,即将数组中的元素认为是属性名为0、1、2等的对象。Object.assign([1,2,3],[4,5])的结果为[4,5,3]。

    用途

    • 为对象添加属性、方法
    • 克隆对象Object.assign({},target);
    • 合并多个对象(若要等到一个新的对象,则将source设为{})
    • 为属性指定默认值Object.assign({},DEFAULTS,options),一般情况下,DEFAULTS为默认值,options为用户提供的参数。(由于不能深复制,因此注意DEFAULTS和options只能是简单对象)
  • 相关阅读:
    cf1108E2 线段树类似扫描线
    poj1185 状态压缩经典题
    cf1110F 离线+树上操作+线段树区间更新
    tarjan求lca :并查集+dfs
    cf1110E 思维
    cf1110d 线性dp
    cf842D 01字典树|线段树 模板见hdu4825
    cf842C 树形dp+gcd函数
    cf581F 依赖背包+临时数组 好题
    hdu5758 思维,树形dp
  • 原文地址:https://www.cnblogs.com/youhong/p/9362371.html
Copyright © 2011-2022 走看看