이번에 포스팅할 내용은 javascript type에 관한 내용이다.
이번에 하는 프로젝트에서 타입을 이용한 예외처리를 했지만 에러가 떠버려서 뭐지?? 하면서 디버깅 하는 과정에서 알게된 내용을 공유하고자 한다.
(javascript)
typeof '' // string
typeof 1 // number
typeof true // boolean
typeof {} // object
typeof function () {} // function
typeof undefined // undefined
위의 타입들은 당연하다고 여길수 있는 타입들이다. 하지만 당연히 와닿지 않는 타입들이 존재하는데 그것은 아래의 타입들이다. 따라서 type을 이용한 예외처리나 조건문 작성 시 주의 해야한다.
(javascript)
typeof NaN // number
typeof [] // object
typeof new String() // object
typeof null // object
null은primitive type임에도 불구하고 왜 typeof 의 return 값은 object일까?
=> 헷갈릴 수 있겠지만 이건 자바스크립트 초기 설계의 오류라고한다.