JavaScript - typeof, instanceof

less than 1 minute read

Primitive Type을 구분할 때엔 typeof를 사용하고, Class Type을 구분할 때엔 instaceof를 사용하면 됩니다.

typeof

단항연산자(unary operator)입니다. 결과값으로 인자의 Primitive Type을 String으로 반환합니다. 타입의 종류는 아래와 같습니다.

  • ‘undefined’
  • ‘boolean’
  • ‘number’
  • ‘string’
  • ‘object’
  • ‘function’

주의사항

null의 경우 ‘object’로 반환하기 때문에 null값일 경우 아래의 경우는 true가 되는 문제가 생깁니다.

typeof variable

따라서 typeof를 사용할 경우 아래와 같이 처리해주어야 합니다.

if(variable != null && typeof === 'object'){}
if(!variable && typeof === 'object'){}


instanceof

비교연산자입니다. object가 class의 인스턴스일 경우 true를 반환합니다. class가 개체의 프로토타입 체인에 있는 경우 true를 반환합니다. object가 class의 인스턴스가 아니거나 null인 경우에는 false를 반환합니다.

result = object instanceof class



Leave a comment