[javascript] instanceof 연산자

JavaScript에서 instanceof 연산자는 특정 객체가 특정 클래스나 생성자 함수로부터 생성되었는지를 확인하는 데 사용됩니다. 이 연산자는 객체의 프로토타입 체인을 검사하여 지정된 클래스나 생성자 함수의 프로토타입 객체가 있는지 확인합니다.

사용법

instanceof 연산자는 다음과 같이 사용됩니다.

object instanceof constructor

여기서 object는 확인할 객체이고, constructor는 확인할 클래스 또는 생성자 함수입니다.

예제

// 사용자 정의 클래스 선언
class Car {}

// Car 클래스의 인스턴스 생성
let myCar = new Car();

// instanceof 연산자를 사용하여 인스턴스의 타입 확인
console.log(myCar instanceof Car); // true

주의사항

instanceof 연산자는 객체가 특정 클래스의 인스턴스인지 여부를 확인할 때 유용하지만, 프로토타입 체인 상에 다른 라이브러리나 프레임워크에서 생성한 클래스의 프로토타입이 존재할 경우 원하는 결과를 얻을 수 없을 수 있습니다.

따라서 instanceof 연산자를 사용할 때는 해당 객체의 프로토타입 체인을 신중히 고려하여야 합니다.

instanceof 연산자는 객체가 특정 클래스나 생성자 함수로부터 생성되었는지를 확인하는 용도로 사용되며, 객체의 상속 체인을 검사할 때 유용하게 활용할 수 있습니다.

결론

JavaScript의 instanceof 연산자는 객체의 클래스 또는 생성자 함수 유형을 확인하는 데 유용한 도구입니다. 프로토타입 체인을 통해 객체가 원하는 유형인지를 확인하는 데 활용할 수 있습니다. 그러나 프로토타입 체인의 영향을 고려하여 사용하여야 합니다.

이와 함께 instanceof 연산자를 사용하여 객체가 특정 클래스나 생성자 함수로부터 생성되었는지를 확인하여, 코드의 신뢰성을 높일 수 있습니다.

MDN Web Docs - instanceof