this가 가르키는 값이...
286
작성한 질문수 5
아래의 코드를 node로 실행해보면
콜백함수가 실행이 될때 vals of undefined... 에러가 발생합니다!
this 가 전역객체를 가르키게 된다고 배운것 같은데
전역에 var varls를 정의해도 읽지못하네요 ... 혹시 이유를 여쭤봐도 되까요 ㅠㅠ
답변 2
2
node.js 환경에서 실행하셨다면 this가 global이 나오는게 맞습니다.
실행환경이 무엇인지 확인해보시기 바랍니다.
만약 nodejs 기반의 가상 환경을 별도로 구축해 놓은 툴에서 실행하신 거라면,
해당 툴이 무엇이냐에 따라 결과는 달라질 수밖에 없습니다.
그리고 그런 툴의 전역공간을 'nodejs의 전역공간'이라고 할 수도 없습니다.
왜냐하면 그런 툴은 대부분 nodejs라는 큰 틀 안에서 만들어놓은 '외부와 단절된 별개의 공간'을 추구하기 때문에,
하나의 커다란 스코프 안에 자신을 가둬놓게끔 구현되어 있기 때문입니다.
이 '큰 스코프'를 전역스코프로 인식하게끔 구현해 놓았지만,
실제로는 'nodejs의 전역스코프'가 아닌 결국은 전역스코프 내부에 속한 별도의 스코프일 뿐이기 때문에
nodejs의 전역객체와는 무관하게 됩니다.
nodejs에서 위 코드를 확인하는 방법은,
1. 터미널 / shell 등에서
> node
라고 입력한 다음 한줄씩 입력하는 방법
2. js 파일을 작성한 다음 터미널 / shell 등에서 해당 js 파일을 실행하는 방법이 있습니다.
> node a.js
(파일명이 a.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
책 66p. 예제 3-2 질문입니다.
0
356
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





