728x90
반응형
반응형
728x90
1. instanceof 연산자
- JavaScript에서 instanceof 연산자는 특정 객체가 특정 클래스(또는 생성자 함수)에서 생성된 인스턴스인지 확인하는 데 사용됩니다. 이를 통해 객체의 유형을 판단하고, 코드에서 객체가 올바른 클래스나 타입을 가졌는지 검사할 수 있습니다.
2. 문법
- object: 검사할 대상 객체입니다.
- Constructor: 객체의 원형(prototype)을 기준으로 검사할 생성자 함수 또는 클래스입니다.
- 반환값 (true): object가 Constructor 또는 그 하위 클래스의 인스턴스일 경우
- 반환값 (false): object가 Constructor와 관련이 없는 경우
object instanceof Constructor
3. 기본 예제
- 아래 예제는 쉽게 설명하자면, myDog 객체가 속해 있느냐 없느냐의 차이를 보여주는 예제입니다.
- myDog 객체는 배열과는 상관 없기 때문에 false 값이 출력됩니다.
class Animal {}
class Dog extends Animal {}
const myDog = new Dog();
console.log(myDog instanceof Dog); // true
console.log(myDog instanceof Animal); // true (상속 관계이므로)
console.log(myDog instanceof Object); // true (모든 객체는 Object를 상속)
console.log(myDog instanceof Array); // false (Array와는 관련 없음)
4. 활용 예제
- 배열 타입은 Array와 Object 둘 다의 인스턴스로 인식됩니다.
const myArray = [1, 2, 3];
console.log(myArray instanceof Array); // true
console.log(myArray instanceof Object); // true (Array는 Object의 하위 타입)
5. 주의 사항
- 숫자나 문자열 같은 기본형은 instanceof로 확인할 수 없습니다.
- 기본형을 검사하려면 typeof를 사용해야 합니다.
console.log(123 instanceof Number); // false
console.log("apple" instanceof String); // false
6. 마치며
- 자바스크립트 instanceof 연산자는 객체가 특정 클래스 또는 생성자의 인스턴스인지 확인할 때 유용합니다.
- 프로토타입 체인을 검사하여 객체가 지정된 생성자를 상속받았는지 확인합니다.
- 기본형 데이터 타입에는 사용할 수 없으며, 모든 객체는 Object의 인스턴스로 간주됩니다.
728x90
반응형
'프로그래밍 > [javascript] 자바스크립트' 카테고리의 다른 글
[JavaScript] 자바스크립트 정규식 문자 의미 (0) | 2024.11.15 |
---|---|
[JavaScript] 자바스크립트 날짜 계산하는 예제 (0) | 2024.11.14 |
[javascript] typeof 연산자 설명 및 예제 (0) | 2024.11.13 |
[JavaScript] padStart(), padEnd() 메서드 (lpad(), rpad()) (0) | 2024.11.12 |
[javascript] 배열 정렬 방법 설명 및 예제 (sort, reverse) (0) | 2024.11.12 |