본문 바로가기
dev/javascript

[javascript] 자바스크립트 instanceof 연산자

by 최연탄 2023. 6. 26.
728x90
반응형

참고: https://flexiple.com/javascript/instanceof-javascript/

이 포스트에서는 instanceof 연산자를 알아보고 예제를 통해 실제로 수행되는 작업을 확인해 보겠습니다.

instanceof 란?

자바스크립트의 instanceof 연산자는 런타임에서 객체의 타입을 확인하기 위해 사용합니다. 이는 불린 값(true 또는 false)을 리턴합니다. 리턴된 값이 true면 객체가 특정 클래스의 인스턴스임을 나타내고, 리턴된 값이 false면 특정 클래스의 인스턴스가 아님을 나타냅니다.

문법과 설명

문법:

var myVar = objectName instanceof objectType

매개변수:

objectName: 객체의 변수명을 나타냅니다.

예제:

var fruits = ["Apple", "Mango", "Banana"];

console.log(fruits instanceof Array);
console.log(fruits instanceof Object);
console.log(fruits instanceof Number);
console.log(fruits instanceof String);

instanceof 연산자는 상속된 객체에도 사용할 수 있습니다. 객체가 해당 클래스의 프로토타입을 상속 받았다면 true를 리턴 합니다.

obj instanceof Class

여기서 obj가 Class 이거나 Class 를 상속 받은 객체인 경우 true를 리턴합니다.

class Flexiple {}
let flexiple = new Flexiple();

console.log(flexiple instanceof Flexiple);

위의 예제와 비슷하게 생성자 함수에서도 마찬가지로 작동합니다.

자바스크립트에서 instanceof가 필요한 이유

자바스크립트에서는 변수를 선언할 때 타입을 명시적으로 정의하지 않습니다. 단지 var xyz와 같은 방법을 사용합니다. 다른 언어와 달리 문자열, 숫자, 배열 또는 사용자 정의 데이터 유형이 될 수 있습니다. 예를 들어 C 또는 C++에서는 int i; float f; 등 변수 선언과 동시에 데이터 타입을 지정합니다. 따라서 객체가 특정 타입에 속하는지 확인하기 위해 instanceof 연산자가 필요합니다.

관련 글

자바스크립트 console.log 사용 방법 (로그 찍기)

반응형

댓글