안녕하세여 궁금한게있어서 질문드립니다.
현재 ide 는 vs code 쓰고있고 nodejs 로 컴파일중입니다.
this배우고 있어서 테스트중인데
제가 배운거로는 global 에서 this 의값은 global이다 인데
전역상에서
var a = this 하면
a의값이 object 로 나옵니다. 물론
var obj = {
var a = this
}
해도 동일결과가 나옵니다.
왜그런거인가요??
현재 ide 는 vs code 쓰고있고 nodejs 로 컴파일중입니다.
this배우고 있어서 테스트중인데
제가 배운거로는 global 에서 this 의값은 global이다 인데
전역상에서
var a = this 하면
a의값이 object 로 나옵니다. 물론
var obj = {
var a = this
}
해도 동일결과가 나옵니다.
왜그런거인가요??
node.js에서 탑레벨상에서의 this는 module.exports
글ㅣ고 자바스크립트는 컴파일 언어가 아니라 인터프리터 언어이기 때문에 노드로 컴파일하는게 아니라 노드로 인터프리트하는 겁니다용
마지막으로 obj = { var a = this } 같은 식의 문법은 에러가 날텐데요...? 뭔가 생략하고 적은게 아닌지
아 감사합니다. 3번째댓글의경우 객테 리터럴이아니라 함수정의입니다. 감사합니다
nodejs의 global environment는 global 객체임
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/this
이거 읽으면 확실하게 이해 될겁니다