오늘은 모던 JavaScript 튜토리얼에서 'instanceof'로 클래스 확인하기에 대해 공부했다. 작성한 질문은 다음과 같다.
어떤 객체가 특정 클래스에 속하는지 아닌지 확인하기 위한 연산자로 instanceof가 있다. 이 instanceof는 클래스에 속하거나 클래스를 상속받는 클래스에 속한다면 true가 반환된다.
class Animal {}
class Rabbit extends Animal {}
let rabbit = new Rabbit();
alert(rabbit instanceof Animal); // true
정적 메서드를 통해 인스턴스 여부나 상속 여부를 확인하는 방법은 Symbol.hasInstance를 통해 구현할 수 있다.
class Animal {
static [Symbol.hasInstance](obj) {
if (obj.canEat) return true; // canEat 프로퍼티가 있으면 animal이라고 판단한다.
}
}
let obj = { canEat: true };
alert(obj instanceof Animal); // true
'TIL' 카테고리의 다른 글
TIL - 20220802 (0) | 2022.08.02 |
---|---|
TIL - 20220801 (0) | 2022.08.01 |
TIL - 20220730 (0) | 2022.07.30 |
TIL - 20220729 (0) | 2022.07.29 |
TIL - 20220728 (0) | 2022.07.28 |