인프런 커뮤니티 질문&답변

대생님의 프로필 이미지
대생

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

exports와 this

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

작성

·

332

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

대생님의 프로필 이미지
대생
질문자

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

대생님의 프로필 이미지
대생

작성한 질문수

질문하기