2. 불리언 타입


아... 괜히 하루에 한번씩 포스팅을 한다했다... 피곤하다...


오늘은 데이터 타입 중에서 조금 중요한 요소를 짚고 넘어가자. (어제 잠시 정신이 나가서 언급 못한 부분이 있다...) 앞서 "1. 데이터 타입"에서는 'null'은 빈 객체를 참조하므로 typeof는 Object를 반환한다고 말했다. 그러면 null과 undefined를 == 연산자로 비교해보면 어떤 결과가 출력될까?! 닥치고 예제를 만들어 보았다.


Result를 확인하고 검정색 span 영역을 클릭해보면 깜짝 놀랄것이다. 왜지?? 왜죠?! 아니!!! 이상하지만 null과 undefined는 같다고 출력된다. undefined가 null에서 파생됐기 때문에 표면적으로는 동일한 것으로 정의한단다... (아오...)

그런데 정말 null에서 undefined가 나와서라는 이유 하나만으로 true값을 출력시키는 건가?! 이유는 나중에 설명하겠다. (안 그러면 포스팅 오늘 못끝냄... 궁금할껄?!)

자 null값 얘기하다가 다른 이야기로 빠졌지만 다시 돌아가자. 오늘은 주인공은 Boolean이다. 이미 프로그래밍을 다수 경험한 사람들이라면 이 Boolean이 어플리케이션 코드 내에서 얼마나 많이 쓰이는지 잘 알것이다. ECMAScript에서 Boolean은 true와 false의 두가지 리터럴 값만 가진다. 하지만 모든 데이터 타입을 불리언 값으로 표현할 수 있다.

**노란책에 나온 표 퍼옴 / 출처 - JavaScript for Web Developers**

데이터 타입true로 변환되는 값false로 변환되는 값
Booleantruefalse
String비어있지 않은 문자열 모두""(빈 문자열)
Number0을 제외한 모든 숫자, *무한대 포함0, NaN
Object모든 객체Null
Undefined해당 없음Undefined



자 뜬금없지만 오늘은 여기까지. 중요한 점은 위의 표는 반드시 숙지하고 있어야 나중에 코드에서 오타가 아닌 무언가 잘못된 것을 찾는 세상에서 제일 거지같은 경험을 한번이라도 덜 할수 있을거라 확신한다. 제발... 당신의 코드는 당신만 보는게 아니다. 누군가는 당신의 코드를 What the *uck! 내지는 ㅆ*! *ㅂ 하면서 쳐다볼 수 있다. 지금 이 시간에도... (섬뜩...) 

'Front' 카테고리의 다른 글

[자바스크립트] 초간단 테스트 스위트 만들기!!  (0) 2017.06.07
[자바스크립트] 로깅 함수  (0) 2017.06.01
JavaScript[ECMAScript] 1. 데이터 타입  (0) 2016.07.07
Ionic 하이브리드 앱  (0) 2016.06.28
Angular Material  (1) 2016.06.17

+ Recent posts