typeof 연산자

건둔덕 ·2022년 6월 21일
1

Javascript

목록 보기
8/28
post-thumbnail

typeof 연산자는 피연산자의 데이터 타입을 7가지 문자열 "string", "number", "boolean", "undefined", "symbol", "object", "function" 중 하나를 반환한다.

여기서 주의할 점은 typeof 연산자가 반환하는 문자열은 7개의 데이터 타입과 정확하게 일치하지 않는다.

typeof 연산자로 null 값을 연산해보면 "null"이 아닌 "object"를 반환한다. 이것은 자바스크립트의 첫 번째 버전의 버그이다. 하지만 기존 코드에 영향을 영향을 줄 수 있기 때문에 아직까지 수정되지 못하고 있다.

따라서 값이 null 타입인지 확인할 때에는 typeof 연산자를 사용하지 말고 일치 연산자(===)를 사용하면 된다.

<script>
var foo = null;

typeof foo === null; // false
foo === null; // true
</script>

또 하나 주의해야 할 것은 선언되지 않은 식별자를 typeof 연산자로 연산할 때 ReferenceError가 발생하지 않고 undefined를 반환한다.

<script>
// abc 식별자를 선언한 적이 없다.
typeof abc; // undefined
</script>
profile
건데브

0개의 댓글