모던 JavaScript 튜토리얼을 따라가면서 정리합니다.
2.7. 형 변환
함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환된다. 이러한 과정을 형 변환(type conversion)이라고 한다. 전달받은 값을 의도를 갖고 원하는 타입으로 변환(명시적 변환)해 주는 경우도 형 변환이라고 할 수 있다.
문자형으로 변환
문자형으로 변환은 무언가를 출력할 때 주로 일어난다. String(value)을 사용하면 문자형으로 명시적 변환이 가능하다. 문자형으로의 변환은 대부분 예측 가능한 방식으로 일어난다.
숫자형으로 변환
수학 관련 연산시 주로 일어난다. Number(value) 함수로도 형 변환을 할 수 있다.
| 전달받은 값 | 형 변환 후 | 
|---|---|
| undefined | NaN | 
| null | 0 | 
| true / false | 1 / 0 | 
| string | 전달받은 문자열을 “그대로” 읽되, 처음과 끝의 공백을 무시한다. 문자열이 비어있다면 0이 되고, 오류 발생 시 NaN이 된다. | 
불린형으로 변환
논리 연산 시 발생한다. Boolean(value)으로 변환할 수 있다.
0, null, undefined, NaN, ""은 형 변환 시 false가 되고, 그 외의 값은 true로 변환된다.
- 숫자형으로 변환 시 undefined는 0이 아니라NaN이 된다. 단 불린형으로 변환 시 false가 된다.
- 문자열 "0"과" "와 같은 공백은 불링형으로 변환 시 true가 된다.
