Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- OOAD
- OS
- Git
- 디프만
- 버전관리
- Observable
- spring boot
- Hot Publish
- 원격 저장소
- 에프랩
- time slice
- flab
- 건국대학교
- 자바스크립트
- 마블 다이어그램
- github
- js
- js 개발자라면 알아야하는 핵심 컨셉
- 멘토링 후기
- 큐시즘
- Round Robin
- Cold Publisher
- spring
- RxJava
- 생활코딩
- CPU Scheduling
- Hot Publisher
- Depromeet
- 파이썬
- CLI
Archives
- Today
- Total
글쓰는 개발자
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #5.Typeof 본문
개발하다보면, 사용하고 있는 데이터의 타입 정보가 필요한 경우가 생긴다.
이런 경우를 위해 JS에서는 typeof라는 함수를 제공한다.
js 개발자라면 알아야하는 핵심 컨셉 33개, 그 5번째는 typeof이다.
typeof에 대해서는 크게 깊게 다뤄야 할 부분은 몇 개 없지만,
자바스크립트에서 발생하는 일종의 버그 케이스가 몇가지 있어 소개하려고 한다.
typeof는 대부분의 primitive types에서 작동한다.
Boolean, String, Number, Function, Undefined등의 type을 string 형태로 반환해주는 것을 확인할 수 있다.
다음 예시를 보자.
무슨 경우일까.
결과부터 얘기하자면 설계가 잘못된(?) 버그라고 할 수 있겠다.
typeof null이 "null"을 return하도록 하자는 논의가 있었으나, 이미 JS를 기반으로 또는 사용하여 만들어진
프로그램들에게 영향을 미칠 수 있기 때문에 기각되었다고 한다.
자세한 부분은 이 곳을 참고.
이러한 상황도 존재한다.
Array의 타입을 검사했더니, object를 반환한다.
Object의 타입을 검사해도 object를 반환한다.
위처럼 짧은 코드의 경우에는 코드를 뒤적거리면 금방 요놈이 Array구나 하는 것을 알아낼 수 있겠으나,
복잡하고 정밀한 코드가 요구되는 경우에는 상당한 어려움이 생길 수 있다.
이러한 경우에는 typeof를 대신하여서 다음과 같은 방법을 사용한다.
instanceof를 사용하여 Array인지 Object인지 가려낼 수 있다.
반응형
'Development > 기타' 카테고리의 다른 글
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #7.Expression vs Statement (0) | 2019.06.22 |
---|---|
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #6.Scope (0) | 2019.06.17 |
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #4.Type Coercion (0) | 2019.06.11 |
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #3.Value Types and Reference Types (0) | 2019.06.09 |
[이론]js 개발자라면 알아야하는 핵심 컨셉 33개 #2.Primitive Types (0) | 2019.06.08 |
Comments