Это действительный / безопасный способ клонирования любого объекта / функции / и т. Д. в ES6? - PullRequest
0 голосов
/ 14 ноября 2018

Мне интересно, является ли это безопасным подходом к клонированию переменной, которая может быть чем угодно:

// the original variable definition:
let varIWantToCopy = 'hello world'

// the clone variable's definition:
let {varIWantToCopy: cloneOfVarIWantToCopy} = {varIWantToCopy}

// mutating the original value:
varIWantToCopy = 'goodbye world'

// should log out 'hello world':
console.log(cloneOfVarIWantToCopy)

Спасибо, что нашли время, чтобы просмотреть это.

С уважением,

Harry

1 Ответ

0 голосов
/ 14 ноября 2018

Я думаю, вам следует использовать lodash, если вы действительно хотите клонировать объект. В lodash есть несколько функций клонирования, которые вы можете использовать в зависимости от ваших требований.

// or you can use lodash/clone
import cloneDeep from 'lodash/cloneDeep';

var objects = [{ 'a': 1 }, { 'b': 2 }];

var cloned = cloneDeep(objects);

console.log(cloned[0] === objects[0]); // this will be false

Таким образом, если вы измените значение cloned [0], значение объекта [0] не изменится.

...