배열 타입, 배열 여부 확인 메소드-Array.isArray() 메소드, instanceof 연산자, constructor 프로퍼티

CODEDRAGON Development/JavaScript, jQuery, ...

반응형


 

 

배열 타입

자바스크립트에서는 배열의 타입(type)을 별도로 제공하지 않습니다.

배열은 객체(object) 타입으로 처리되며, typeof 연산자를 사용하면 'object'를 반환합니다.

 

var arr = [];

document.write(typeof arr); // object

 

 

 

배열 여부 확인 메소드

자바스크립트에서는 해당 변수가 배열인지 여부를 확인할 수 있도록 다음과 같은 방법들을 제공하고 있습니다.

·       Array.isArray() 메소드

·       instanceof 연산자

·       constructor 프로퍼티

 

 

Array.isArray() 메소드

ECMAScript 5부터는 Array 클래스에 isArray()라는 배열 여부를 확인할 수 있는 메소드를 추가하였습니다.

var arr = [];

document.write(Array.isArray(arr) + "<br>");    // true

document.write(Array.isArray("자바스크립트") + "<br>");        // false

 

 

 

instanceof 연산자

instanceof 연산자를 사용하여 해당 변수가 Array 객체인지를 판단하여 배열 여부를 확인할 수 있습니다.

document.write((arr instanceof Array) + "<br>"); // true

document.write(123 instanceof Array + "<br>"); // false

 

 

 

constructor 프로퍼티

Array 객체의 constructor 프로퍼티를 사용하여 배열 여부를 확인할 수도 있습니다.

자바스크립트 배열에 대해 constructor 프로퍼티는 다음과 같은 값을 반환합니다.

function Array() {[native code]}