JavaScript · Middle · Pytanie 31 z 75
Dlaczego structuredClone(obj) jest lepszy niż JSON.parse(JSON.stringify(obj))?
- ✓Poprawna odpowiedź: Zachowuje
Date,Map,Set, cykliczne referencje i nie gubiundefined - 2Kopiuje też funkcje i metody klas razem z prototypem
- 3Działa tylko z prymitywami, ale jest dziesiątki razy szybszy
Wyjaśnienie
Trik z JSON zamienia Date w string, gubi undefined, Map, Set, Infinity i wysypuje się na cyklach. structuredClone obsługuje więcej typów, ale nie kopiuje funkcji, węzłów DOM ani prototypów klas - takie obiekty rzucają błąd lub tracą metody.