jsvascript에서의 this
this는 기본적으로는 window를 뜻한다. (strict 모드일시에는 undefined)
간단하게 f12를 누르고 console에 들어가 this;를 입력해보면 window가 뜨는 것을 알 수 있습니다.
하지만 객체 메서드, bind all aplly,new일때 this가 바뀝니다.
객체의 메서드 a 안에 this는 객체(obj)를 가리킵니다.
var obj= {
a : function() {
console.log(this);
},
}
obj.a(); //obj
단 아래의 경우와 같이하면 결과값은 달라집니다.
var a2 = obj.a;
a2(); //window
또한 이벤트리스너, 기타 라이브러리와 같은 것들은 this를 내부적으로 바꿀 수도 있다.
아직 수정중...