打字稿返回对象的副本

时间:2019-03-03 13:03:22

标签: 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;

  }

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

1 个答案:

答案 0 :(得分:2)

否,您要返回原始对象。您可以通过多种方法在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建议的“休息/扩展属性”(阶段4)将扩展属性添加到对象文字中。它将自己的可枚举属性从提供的对象复制到新对象。

source