📚 이론정리/JS & TS

✏️ Instanceof 연산자

서카츄 2024. 1. 19. 12:49

객체가 어떤 클래스인지, 어떤 클래스를 상속 받았는지 확인하는데 사용하는 연산자 이다.

즉, 참조변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기 위해 해당 연산자를 사용한다.

 

문법

object instanceOf type

 

`object`: 판별할 객체

`type` : 판별할 함수

 

 instanceof 연산자는 object의 프로토타입 체인에 type.prototype이 존재하는지 판별한다.

 

 

 

 

예시 (자주쓰는 Dete) 

 

const date = new Date();


date instanceof Date

date는 객체(인스턴스)
date의 인스턴스가 Date이다.

date는 인스턴스도 되고 객체도 된다.

 

 

 

예시 (자주쓰는 instanceof Error)

catch(error){
    if(error instanceof Error) alert(error.message)
}

 

error.message 오류가 나는 이유
error에 메세지가 있는지 모르겠다 해서 에러가 나는것
그래서 에러에 타입을 적어 줘야하는데, catch(error)에 적기 어려우니
if(error instanceof Error) 이렇게 적는것.
Error에 누구? instanceof의 error에! 

Error에는 message가 있을거니까!

 

 

 

 

 

 

 


 

Docs

 

instanceof - JavaScript | MDN

instanceof 연산자는 생성자의 prototype 속성이 객체의 프로토타입 체인 어딘가 존재하는지 판별합니다.

developer.mozilla.org