В некоторых отношениях это передача / назначение по ссылке, а не по значению.По ссылке, как правило, используется в большинстве языков по умолчанию для всего, что не является примитивным по ряду причин, вероятно, главными из которых являются:
1) Вероятно, вы перепрыгнете через много памяти, есликаждое назначение / передача функции создает глубокую копию.
2) Дополнительное удовольствие, когда вы пытаетесь изменить положение вещей ... не более this.x = 5
, если this.x
уже привязан.Вероятно, что-то вроде this = this.clone({x: 5})
вместо этого, если бы мы были везунчиками.
Для получения дополнительной информации взгляните на эти две ссылки:
http://oranlooney.com/functional-javascript/
http://oranlooney.com/deep-copy-javascript/
Я думаю, что реальный вопрос, вероятно, должен быть - почему не существует хорошего удобного метода Object
, предназначенного для создания глубоких копий?