[Javascript] typeof 연산자

2021. 4. 8. 21:21JavaScript

 

 

 

  typeof 연산자는 인수의 자료형을 반환한다.

 

  자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아내고자 할 때 용이하다.

 

 

  typeof 연산자는 두 가지 형태의 문법을 지원한다.

 

1. 연산자

  typeof x

 

2. 함수

  typeof(x)

 

  괄호가 있든 없든 결과는 동일하다.

 

 

 

  • typeof 연산자 사용 예시(1)
typeof undefined // "undefined"

typeof 0 // "number"

typeof 10n // "bigint"

typeof true // "boolean"

typeof "foo" // "string"

typeof Symbol("id") // "symbol"

 

  위와 같이 typeof x를 호출하면 인수의 자료형을 나타내는 문자열을 반환한다.

 

 

 

 

  • typeof 연산자 사용 예시(2)
typeof Math // "object"  1

typeof null // "object"  2

typeof alert // "function"  3

 

1.

  Math는 수학 연산을 제공하는 내장 객체이므로 object가 출력된다.

 

2.

  typeof null의 결과는 object이다. null은 별도의 고유한 자료형을 가지는 특수 값으로 객체가 아니지만, 하위 호환성을 유지하기 위해 이런 오류를 수정하지 않고 남겨둔 상황이다. 이는 Javascript 언어 자체의 내부적인 오류이므로 null이 객체가 아님에 유의해야 한다.

 

3.

  typeof는 피연산자가 함수면 function을 반환한다. 그러나 함수형이라는 자료형은 별도로 존재하지 않으며, 오히려 함수는 객체형에 속한다. 이러한 동작 방식이 형식적으로는 잘못되긴 했지만 아주 오래 전에 만들어진 규칙이었기 대문에 하위 호환성 유지를 위해 남겨진 상태이다. 한편, 실무에서는 이러한 특징이 유용하게 사용되기도 한다.

 

 

 

 

참고자료

ko.javascript.info/types

 

 

 

 

 

 

 

'JavaScript' 카테고리의 다른 글

[React] Lifecycle  (0) 2020.10.19