class Dog {
constructor(type, color){
this.type = type;
this.color = color;
}
getOld(){
if ( this instanceof Cat) {
this.age++;
}
}
}
이 때 getOld 함수의 if 의 조건에서 쓰인 this 의 의미가 이해가 잘 안 가서 질문드립니다.
this 키워드 4가지 의미에서 일단 window랑 콜백함수에서 쓰일 때 용도는 아닌 것 같고, object 안에 함수의 주인이나 constructor 로 생성하는 인스턴스를 가리키는 것 중 하나일 것 같다는 생각을 하긴 했는데요. 그런데 현재 getOld함수가 일단 오브젝트 안에 담겨있는 것도 아닐 뿐더러 설사 오브젝트라 보더라도 주인이면 class를 가리키는 것이라 좀 말이 안 되는 것 같고, 그렇다고 또 constructor 바깥에서 쓰인 거 같아서 constructor로 만들어낸 인스턴스를 가리키는 것이라고 하는 것도 좀 이해가 안 갑니다.
어떻게 이해를 해야할까요?