this 키워드
this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-reference variable)다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다.
this가 가리키는 값, 즉 this바인딩은 함수 호출 방식에 의해 동적으로 결정된다.
-출처: 모던 자바스크립트 -
생성자 함수 또는 클래스로 인스턴스를 생성하려면 먼저 생성자 함수 또는 클래스를 정의 해야한다. 하지만 정의 하는 시점에 생성자 함수 또는 클래스의 프로퍼티와 메서드가 참조할 식별자가 없다. 그렇기 때문에 this를 사용해서 나중에 인스턴스를 참조할 수 있다.
const person = {
name: 'jason',
introduce() {
return `Hello, my name is ${this.name}`
}
};
객체 리터널의 메서드 내부에서 this를 사용하는 경우 호출한 객체, 즉 person을 가리킨다.