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
를 상속받습니다.
지금까지 배운 타입 확인 메서드를 요약하면 다음과 같습니다.
예시에서 보았듯이 {}.toString
은 typeof
보다 ‘기능이 더’ 많습니다.
instanceof
연산자는 계층 구조를 가진 클래스를 다룰 때나 클래스의 상속 여부를 확인하고자 할 때 그 진가를 발휘합니다.