машинопись возвращает копию объекта - PullRequest
0 голосов
/ 03 марта 2019

это правильный способ вернуть копию объекта?

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 голосов
/ 03 марта 2019

Нет, вы возвращаете исходный объект.У вас есть несколько опций для копирования объекта в JS.

Традиционный способ Object.assign():

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

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

Метод Object.assign () копирует только перечислимые исобственные свойства из исходного объекта в целевой объект.

источник

ESNext подход с оператором spread:

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

Свойства Rest / Spread для предложения ECMAScript (этап 4) добавляют свойства распространения к литералам объекта.Он копирует собственные перечисляемые свойства из предоставленного объекта в новый объект.

source

...