TIL
TIL 230523 순환 참조(Circular Dependency)
2021bong
2023. 5. 23. 23:02
처음 보는 에러 등장!
TypeError: JSON.stringify cannot serialize cyclic structures.
JSON.stringify는 순환 구조를 직렬화할 수 없습니다.
찾아보니 순환 참조 객체는 JSON.stringify를 사용하면 에러를 발생시킨다고 한다.
순환 참조란 무엇인가?
A가 B를 참조하고 B가 A를 참조하는 경우처럼 순환 참조는 모듈이 서로를 참조하고 있을 때를 이야기한다.
A가 B를 참조하고 B는 C를 참조하고 C는 A를 참조하면? 이런 상황이 순환 참조이다. 마치 가위바위보처럼...
A -> B -> C -> A
프로젝트가 커지고 여러 사람이 개발하다보면 이런 상황이 발생할 수 있는 것 같다.
Circular Dependency, Reference Cycle, Circular Reference 영어로는 어떻게 지칭해야할지 모르겠다.. 검색하면 다들 비슷하게 순환 참조에 대한 결과들이 나온다.. Circular Dependency가 제일 알맞는 것 같기도 하다...
madge 라이브러리
madge 라이브러리를 사용하면 순환 참조를 쉽게 파악할 수 있다.
728x90