20. 숫자로 변환
숫자로 변환
- 연산하기 전에 우선 숫자로 변환을 시도합니다.
- 숫자로 변환이 되면 변환된 값으로 연산합니다.
값 타입 | 변환 값 |
---|---|
Undefined | NaN |
Null | +0 |
Boolean | true: 1, false: 0 |
Number | 변환 전/후 같음 |
String | 값이 숫자이면 숫자로 연산(-, &, /, %연산자에만 해당) 단, 더하기(+)는 연결 |
var value;
console.log(10 + value); // NaN
- value 값은 undefined
- 10과 undefined를 더하면 NaN(Not-a-Number)
NaN(Not-a-Number)도 값입니다.
console.log(10 + null); // 10
console.log(10 + true); // 11
console.log(10 + false); // 10
- null은 0으로 변환
- true는 1로, false는 0으로 변환
console.log(10 + "123"); // 10123
console.log(123 - "23"); // 100
- 더하기는 값이 숫자라도 타입이 String이면 문자열로 연결하지만
- -, *, /, %는 숫자로 변환되어 연산합니다.
- typeof 연산자로 Number 타입 여부 체크