javascript - typescript 返回对象的副本

标签 javascript typescript object

这是返回对象副本的正确方法吗?

class ObjectWrapper {
  private _ obj;

  /***
   * Copy object of argument to this._ obj
   */
  constructor (_obj: Object) {
   this._obj = _obj;

  }

  /**
   Return copy of * this._ obj (Return copy this._ obj)
   * @return Object
   */
  get obj () {
  return this._obj;

  }

我真的很想知道“归还副本”是什么意思

最佳答案

不,您正在返回原始对象。在 JS 中复制对象有多种选择。

通过Object.assign()的传统方式:

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source);

Object.assign() 方法仅将可枚举属性和自己的属性从源对象复制到目标对象。

source

使用spread运算符的ESNext方法:

const source = { a: 1, b: 2 };
const target = {...source};

ECMAScript 提案的 Rest/Spread 属性(第 4 阶段)向对象字面量添加了扩展属性。它将自己的可枚举属性从提供的对象复制到新对象上。

source

关于javascript - typescript 返回对象的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54969094/

相关文章:

javascript - 将 Promise 重构为 Async/await。为什么我的未定义?

javascript - 浏览器支持模块导入,我该如何使用它?

javascript - 为什么 onMouseUp 没有触发?

javascript - 突出显示从开始索引到结束索引的文本中的多行(范围突出显示)

javascript - 如何让 jquery 找到该行并在成功时触发一个 Action (使用 "this")

object - UFT 中对象属性的参数化?

javascript - 如何在隐藏输入中的逗号分隔列表中添加/删除单击时的属性值

node.js - 如何在 typescript 中强制变量的类型?

javascript - 有没有办法保存 HTTP 响应数据,以便不召回 HTTP 服务?

c# - 将对象分配给其他对象会创建副本吗?