
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 메서드에 의한 간접 호출 | 해당 메서드에 첫 번째 인수로 전달한 객체 |