강의

멘토링

로드맵

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

장태근님의 프로필 이미지
장태근

작성한 질문수

코어 자바스크립트

책 66p. 예제 3-2 질문입니다.

해결된 질문

작성

·

326

·

수정됨

0

예제 3-2 전역 공간에서의 this(Node.js 환경)

실행 결과에 대한 질문입니다.

console.log(this);
console.log(global);
console.log(this === global);

 

3번째 줄에 실행결과가 false가 나왔습니다.

책에서는 true의 결과가 실행된다고 표시되었는데

버전이 바뀌어서 결과가 바뀐 건지 혹은 실행환경의 문제인지 질문합니다.

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

전역 공간에서의 this는 실행 환경에 따라 다를 수 있습니다.
Node.js 환경에서의 this는 모듈 파일을 실행하는 컨텍스트를 가리키며, global 객체도 동일한 객체를 가리킵니다.

이럴 경우, console.log(this === global); 코드의 실행 결과는 true가 나와야 합니다.
하지만 여러 요인에 의해 결과가 false로 나타나는 경우도 있을 수 있습니다.

먼저, 현재 사용하고 있는 Node.js의 버전이 영향을 미칠 수 있습니다.
Node.js 버전에 따라 실행 결과가 다를 수 있으니, 사용하는 버전을 확인해보세요.

또한, 실행 환경의 영향을 받을 수도 있습니다.
예를 들어, 모듈 파일 내에서 실행하거나 특정 함수 내부에서 실행하는 경우에는 실행 결과가 달라질 수 있습니다.

따라서, 코드의 실행 결과가 예제와 다를 경우에는 버전 및 실행 환경을 확인해보시고, 예제와 동일한 결과를 얻을 수 있는지 확인해보세요.
만약 여전히 문제가 있다면, 해당 예제의 버전이나 실행 환경에 대한 정보를 제공해주시면 더 자세한 답변을 드릴 수 있을 것 같아요.

더 도움이 필요하시다면 언제든지 질문해주세요. 좋은 하루 되세요!

장태근님의 프로필 이미지
장태근

작성한 질문수

질문하기