Я пытаюсь обновить объект, который глубоко вложен и поэтому имеет довольно длинное имя, которое я не хочу продолжать вводить в моем коде. В этом обсуждении я назову его более коротким названием «цель».
Я начинаю со ссылкой на него более коротким именем 'c':
c = target
Затем я хочу обновить его содержимое, используя другой объект; назовите это update
.
Если я использую c = $.extend(c,update)
, ссылка на c остается «неповрежденной»; то есть c === target
верно.
Однако, если я использую c = {...c, ...update}
, создается новая переменная; то есть c === target
ложно. Моя исходная переменная target
не обновляется.
Я не понимаю, почему. Кто-нибудь может объяснить?
Есть корзина на $ extends против JavaScript-распространения