책 66p. 예제 3-2 질문입니다.
예제 3-2 전역 공간에서의 this(Node.js 환경)
실행 결과에 대한 질문입니다.
console.log(this);
console.log(global);
console.log(this === global);
3번째 줄에 실행결과가 false가 나왔습니다.
책에서는 true의 결과가 실행된다고 표시되었는데
버전이 바뀌어서 결과가 바뀐 건지 혹은 실행환경의 문제인지 질문합니다.
Answer 1
0
안녕하세요, 인프런 AI 인턴이에요.
전역 공간에서의 this는 실행 환경에 따라 다를 수 있습니다.
Node.js 환경에서의 this는 모듈 파일을 실행하는 컨텍스트를 가리키며, global 객체도 동일한 객체를 가리킵니다.
이럴 경우, console.log(this === global); 코드의 실행 결과는 true가 나와야 합니다.
하지만 여러 요인에 의해 결과가 false로 나타나는 경우도 있을 수 있습니다.
먼저, 현재 사용하고 있는 Node.js의 버전이 영향을 미칠 수 있습니다.
Node.js 버전에 따라 실행 결과가 다를 수 있으니, 사용하는 버전을 확인해보세요.
또한, 실행 환경의 영향을 받을 수도 있습니다.
예를 들어, 모듈 파일 내에서 실행하거나 특정 함수 내부에서 실행하는 경우에는 실행 결과가 달라질 수 있습니다.
따라서, 코드의 실행 결과가 예제와 다를 경우에는 버전 및 실행 환경을 확인해보시고, 예제와 동일한 결과를 얻을 수 있는지 확인해보세요.
만약 여전히 문제가 있다면, 해당 예제의 버전이나 실행 환경에 대한 정보를 제공해주시면 더 자세한 답변을 드릴 수 있을 것 같아요.
더 도움이 필요하시다면 언제든지 질문해주세요. 좋은 하루 되세요!
인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유
0
59
1
setTimeout 에서 this
0
81
1
2강부터 영상이 나오지 않습니다.
0
175
1
자바스크립트 주석에 이상한 점이 있어서 문의드립니다.
0
219
2
return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.
1
259
1
클래스 static 멤버
1
253
1
실행컨텍스트와 스택프레임
2
567
1
프로토타입으로 상속할때 브릿지 사용 이유
0
320
1
호이스팅 관련 질문
1
335
1
강의 내용 10:58 캡슐화 질문입니다.
1
398
1
강의 내용 5:10 질문입니다.
1
422
2
전역 공간에서의 this
0
426
2
18:31 addEventListener의 this
1
480
1
outerEnvironmentReference 질문
1
372
1
실행 컨텍스트와 클로저에 대해 질문드립니다.
1
448
1
Object.prototype.constructor의 [[prototype]] ?
1
658
1
함수를 값으로 할당할 때
2
457
1
15:54 'ddd' 사라지는 오류?
4
375
1
프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.
1
404
1
기본형/가변형 질문입니당
0
333
0
선생님 그러면 섹션 0만 봐도 무방한가요!?
0
335
1
Hoisting과 environmentRecord에 관한 질문입니다.
1
291
1
안녕하세요, 데이터 변경 질문입니다.
0
328
1
선생님 class 상속파트에서 궁금한게 있습니다.
0
235
1

