[JavaScript] 자바스크립트 객체 인스턴스(Instance) 확인하기

2022. 6. 6. 18:16Program/JavaScript

071_자바스크립트 객체 인스턴스(Instance) 확인하기

[적용]

  • 데이터 종류에 따라 처리를 구분하고 싶을 때

[문법]

구문 의미
데이터 instanceof 객체 데이터가 객체의 인스턴스인지 확인 

[내용]

instanceof는 데이터가 객체의 인스턴스인지를 확인하는 연산자다.

함수를 정의할 때 특정 인스턴스만 구분하여 처리하도록 할 수 있다.

const today = new Date();

console.log(today instanceof Date);  // 결과: true
colsole.log(today instanceof Array);  // 결과: false

 

Date 인스턴스가 전달되면 날짜를 출력하는 함수를 확인해 보자.

instanceof는 데이터 종류에 따라 처리를 구분할 수 있어 유용하다.

function showCurrentDate(argument) {
    of (argument instanceof Date) {
        console.log(`현재는 ${argument.toLocaleDateString()}입니다.`);
    } else {
        console.log('적절한 데이터 타입이 아닙니다.');
    }
}

const today = new Date();
const myArray = [1, 2, 3];

showCurrentDate(today);  // 결과: 2022/06/06 (현재 날짜 출력)
showCurrentDate(myArray);  // 결과: 적절한 데이터 타입이 아닙니다.

[APPENDIX]

자신이 정의한 클래스(Class)의 판별도 가능

instanceof는 자신이 정의한 클래스의 인스턴스 판별에도 사용할 수 있다.

class MyClass1 {}
class MyClass2 {}

const myInstance1 = new MyClass1();
const myInstance2 = new MyClass2();

console.log(myInstance1 instanceof MyClass1);  // 결과: true
console.log(myInstance2 instanceof MyClass1);  // 결과: false

 


 

 

 

 

 

참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김