JavaScript · Senior · Pytanie 22 z 75
Jak zserializować do JSON obiekt z cyklicznymi referencjami?
- ✓Poprawna odpowiedź: Przez
replacerwJSON.stringify, śledząc odwiedzone obiekty wWeakSet - 2Zwykły
JSON.stringifysobie poradzi: zastępuje cykle przeznull - 3Takiego obiektu nie da się zserializować w żaden sposób
Wyjaśnienie
JSON.stringify rzuca TypeError: Converting circular structure to JSON. W replacer można pomijać już widziane obiekty lub zastępować je referencją-markerem (jak robią biblioteki typu flatted). Do kopiowania wewnątrz JS działa structuredClone - obsługuje cykle.