this
는 정말 유의해서 써야한다고 배웠다. 자바스크립트에서는 this
가 무엇을 가리키는지 정리해보고자 한다!this
키워드자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수
this
를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있음
this
바인딩(this
가 가리키는 값)은 함수 호출 방식에 의해 동적으로 결정
const circle = {
radius: 5,
getDiameter() {
return 2 * this.radius; // this는 메서드를 호출한 객체를 가리킴 (circle)
},
};
console.log(circle.getDiameter());
this
바인딩함수 호출 방식 | this 바인딩 |
---|---|
일반 함수 호출 | 전역 객체 |
메서드 호출 | 메서드를 호출한 객체 |
생성자 함수 호출 | 생성자 함수가 (미래에)생성할 인스턴스 |
Funtion.prototype.apply/call/bind 메서드에 의한 간접 호출 | 해당 메서드에 첫 번째 인수로 전달한 객체 |