typeof 연산자는 변수가 담고 있는 값의 타입을 나타내는 문자열 이름을 반환하는데,
객체,배열 또는 사용자 정의 객체를 담은 변수에 대해서는 object라는 문자열만
반환하기 때문에 이 객체들을 구별하기가 어렵다는 점을 제외하고는, typeof 연산자를
사용하는 방법이 타입을 검사하는 최적의 방법이라고 할 수 있다.
두번째 방법은 모든 자바스크립트객체에 존재하는 constructor라는 프로퍼티를 참조하는
방법인데, 이 프로퍼티는 맨 처음 객체를 생성할때 사용한 함수를 가리킨다.
아래의 표는 위 두 방법을 사용해 여러 객체의 타입을 검사 할 때 반환되는 결과를
보여주는데, 첫번째열은 타입을 알아보려는 객체이고, 두번째열은 typeof, 세번째는
첫번째열의 객체에 대해 Variable.constructor 를 실행한 결과이다.
셋째열은 모두 객체다.
Variable | typeof Variable | Variable.constructor |
{an:"object"} | object | Object |
["an","array"] | object | Array |
function() {} | function | Function |
"a string" | string | String |
55 | number | Number |
true | boolean | Boolean |
new User() | object | User |
Posted by 홍반장