JavaScript에서 사용되는 변수들이 가리키는 객체의 유형은 항상 유동적으로 변할 수 있기 때문에 변수에 담겨있는 객체(Objects)의 유형을 검사(type checking)하는 일은 자주 있으며 그 방법에는 두 가지가 있다.
첫 번째 방법은 typeof
연산자를 사용하는 방법. 이것은 변수에 담겨있는 객체의 유형을 String 값으로 돌려준다.
// Check to see if our number is actually a stringif typeof num == "string"// If it is, then parse a number out of itnum = parseInt num ;// Check to see if our array is actually a stringif typeof arr == "string"// If that's the case, make an array, splitting on commasarr = arrsplit",";
하지만, 이 방법은 Object와 Arrary 혹은 맞춤 Object를 구분하지 못하고 그냥 “object”로 인식하기 때문에 이것을 구별하려면 모든 JavaScript Object들이 가지고 있는 constructor
속성을 확인하면 된다.
var obj = an: "object" ;var arr = an arrary ;var myObj = ;if objconstructor == Object alert'This is an object!';if arrconstructor == Array alert'This is an array!';if myObjconstructor == MyObject alert'My holy object!';