자바스크립트 형 변환
String 변환
- 문자형으로 변환은 대부분 예측 가능한 방식으로 일어난다.
let value = true;
console.log(typeof value);
value = String(value);
console.log(typeof value);
console.log(String(true));
console.log(String(false));
console.log(String(null));
console.log(String(100));
Number 변환
| 전달받은 값 |
형 변환 값 |
| undefined |
NaN |
| null |
0 |
| true and false |
1 and 0 |
| string |
문자열의 처음과 끝 공백이 제거된다. 공백 제거 후 남아있는 남아 있는 문자열이 없으면 0, 그렇지 않으면 문자열에서 숫자를 찾아 읽는다. 만약 변환에 실패하면 NaN 반환 |
console.log(Number(undefined))
console.log(Number(null))
console.log(Number(true))
console.log(Number(false))
console.log(Number(" "))
console.log(Number(" 100 "))
console.log(Number("a 100 "))
Boolean 변환
| 전달받은 값 |
형 변환 값 |
| 0, null, undefined, NaN, ""(빈문자열) |
false |
| 그 외의 값 |
true |
- Boolean 변환은 아주 간단하다.
- 숫자 0, 빈 문자열,
null, undefined, NaN과 같이 직관적으로도 “비어있다고” 느껴지는 값들은 false가 된다.
- 그 외의 값은
true로 변환됩니다.
console.log(Boolean(1));
console.log(Boolean(0));
console.log(Boolean("hi"));
console.log(Boolean(" "));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));
- 주의
"0"은 true 이다.
- 다른 일부 언어에서는 문자열 "0"도 false로 취급하지만, 자바스크립트에서는 비어 있지 않은 문자열은 언제나
true로 반환한다.
console.log(Boolean("1"));
console.log(Boolean(1));
console.log(Boolean("0"));
console.log(Boolean(0));