Накратко
structuredClone() може да създаде дълбоко копие на поддържани стойности. Това е различно от копиране само на външния обект.
Полезно е да знаеш
Когато редактираш вложени данни, плиткото копие може да остави общи вътрешни обекти. structuredClone() използва алгоритъма за структурирано клониране, за да създаде дълбоко копие на поддържаните стойности. Не всяка произволна стойност е клонируема. [1]
Например const original = {settings: {theme: 'light'}}; const copy = structuredClone(original); copy.settings.theme = 'dark';. В този пример original.settings.theme остава 'light'. Двата вложени обекта вече са отделни.
Това е удобно за редакция на чернова в интерфейс, когато не искаш промените да се отразяват веднага в изходното състояние. Не е механизъм за съхранение на диск: копието остава данни в паметта.
Съществува и прехвърляне на transferable обекти. При него ресурсът може да бъде отделен от оригинала, вместо да останат две независими употреби. [1] Не добавяй опция за transfer, ако не разбираш тази разлика. За обикновена вложена конфигурация като примера тя не е нужна.
Източници
За повече подробности и проверка на информацията: