• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

module.exports와 exports 사이의 참조관계 재연결 관련

22.11.26 01:14 작성 조회수 239

0

강의 내용 관련 질문드립니다.

CJS 사용시 module.exports와 exports는 같은 객체를 참조하고 있지만, module.exports에 값을 할당할 경우 참조관계가 끊어지고 exports는 해당 파일 스코프에서 단순 객체로 사용된다는 점 까지는 이해했습니다.

하지만 예시로 참조를 다시 연결하기 위해 아래와 같은 방식을 소개해 주셨는데, 해당 방식을 직접 하드코딩 해본 결과 참조값이 여전히 끊어져 있는 것이 확인되었습니다.

const odd = '홀수입니다.';
const even = '짝수입니다.';

exports.odd = odd;
exports.even = even;

module.exports = {
    odd,
    even,
};

console.log(exports); // { odd: '홀수입니다.', even: '짝수입니다.' }
console.log(module.exports); // { odd: '홀수입니다.', even: '짝수입니다.' }
console.log(exports === module.exports); // false

혹시 다른 조건이 만족된다면 해당 참조관계를 재연결 시킬 수 있는지 궁금합니다.

강의 내용은 exports와 this편 4:47 부분입니다.

 

답변 1

답변을 작성해보세요.

0

아뇨 한 번 module.exports에 다른 객체를 대입하면 아래처럼 강제로 참조관계를 설정하지 않는 한 다시 연결시킬 수 없습니다.

exports = module.exports

대생님의 프로필

대생

질문자

2022.11.26

아 그냥 바로 할당시켜버리는군요... 감사합니다