작성
·
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
아 그냥 바로 할당시켜버리는군요... 감사합니다