November 5, 2021

instanceof 연산자를 사용하면 객체가 특정 클래스에 속하는지 아닌지를 확인할 수 있습니다. instanceof는 상속 관계도 확인해줍니다.

확인 기능은 다양한 곳에서 쓰이는데, 이번 챕터에선 instanceof를 사용해 인수의 타입에 따라 이를 다르게 처리하는 다형적인(polymorphic) 함수를 만드는데 사용해보겠습니다.

Array 같은 내장 클래스에도 사용할 수 있습니다.

let arr = [1, 2, 3];
alert( arr instanceof Array ); // true
alert( arr instanceof Object ); // true

위 예시에서 arr은 클래스 Object에도 속한다는 점에 주목해주시기 바랍니다. Array는 프로토타입 기반으로 Object를 상속받습니다.

요약

지금까지 배운 타입 확인 메서드를 요약하면 다음과 같습니다.

Untitled

예시에서 보았듯이 {}.toString은 typeof보다 ‘기능이 더’ 많습니다.

instanceof 연산자는 계층 구조를 가진 클래스를 다룰 때나 클래스의 상속 여부를 확인하고자 할 때 그 진가를 발휘합니다.