순환참조 객체를 오류없이 JSON.stringify 합니다.
https://github.com/crucifyer/json-safe-stringify
순환참조 객체
let obj = [{
"a": 1,
"b": 2,
"d": new Date(),
"e": [{
"a": 1,
"b": 2
}]
}];
obj[0].c = obj;
obj.push(obj[0]);
obj[0].e[0].c = obj[1];
stringify 오류
XenoJson.RemoveCircular 적용 후 stringify 결과
XenoJson.RestoreCircular 복원 후 상태는 f12 console 참조
결과적으로 참조에 자유로운 XenoJson.ObjectFullCopy 구현 - Date 객체 처럼 stringify 시 사라지는 특성 주의