그냥 블로그

[JS] is not a contructor 순환 참조 본문

Front-End/JavaScript

[JS] is not a contructor 순환 참조

코딩하는 공대생 2024. 8. 4. 21:43
반응형

 

[08/30] "is not a constructor" 리팩토링을 진행하다 Error가 발생했다. 
"생성자가 아닙니다".... 살펴본 결과, class 명 일치, import 파일명 일치....

원인을 찾을 수가 없었다. 해결하기 위해서 어쩔 수 없이 오류가 난 곳을 주석 처리해가면서 거슬러 올라간 결과 순환 참조 문제 때문이란 걸 알 수 있었다. 

설계에서는 순환이 없었는데, 리팩토링을 하다보니 이런일이 일어나고 있었다...

 

test 파일로 예시를 들자면 아래와 같은 상황이었다.

const test2 = require('./test2');

class test1{
    constructor() {
        this.test2 = new test2();
    }
}

module.exports = test1;
const test1 = require('./test1');

class test2{
    constructor() {
        this.test1 = new test1();
    }
}
module.exports = test2;

 

대충 이런 상태.../

 

그래서 순환 참조하면 왜 안되죠

 

 

 

[순환 참조의 문제점]

 

순환참조는 뭐가 문제일까?

순환참조는 뭐가 문제일까? 개인 프로젝트는 혼자서 진행하기 때문에 내가 만든 설계가 제대로 된 설계인지 확인해보기 어렵다. 이를 확인하기 위해서 한 가지 기준을 두었는데 패키지간의 의

siyoon210.tistory.com

[js & ts 순환 참조를 한방에 해결하는 방법 : 아래는 웹 개발 시]

 

[번역] 자바스크립트 & 타입스크립트의 순환 참조를 한방에 해결하는 방법

평범한 개발자가 배우고 느낀 것을 기록하는 공간입니다.

rinae.dev

 

 

순환 참조

jeonghwan-kim.github.io