45. Number 타입으로 변환, Number 상수
Number()
구분 | 데이터(값) |
---|---|
파라미터 | 변환할 값opt |
반환 | 변환한 값 |
- 파라미터 값을 Number 타입으로 변환
파라미터 값이 String 타입이라도 값이 숫자이면 변환 가능
console.log(Number("123") + 500); // 623 console.log(Number("ABC")); // NaN
- “123”이 String 타입이지만 값이 숫자이므로 숫자로 변환합니다.
- Number 타입이 되므로 500을 더하면 값이 연결되지 않고(123500) 더해집니다.(623)
- Number 타입으로 변환할 수 없으면 NaN 반환
여기서 두 가지 관점이 있습니다.
변환을 했는데 그 값이 NaN 인지, 아니면 변환을 하려고 했는데 파라미터 값이 NaN 이라는 건지..
여기선 후자입니다.
숫자로 변환할 수 있으면 변환
console.log(Number(0x14)); // 20 console.log(Number(true)); // 1 console.log(Number(null)); // 0 console.log(Number(undefined)); // NaN
- 16진수를 10진수로 변환 (0x 는 16진수를 뜻합니다. 0x14 => 1x16 + 4 = 20)
- true 는 1로, false 는 0으로 변환됩니다.
- null 은 0으로 변환
- undefined 는 NaN 로 변환
- 파라미터 값을 작성하지 않으면 0을 반환
Number 상수
상수 이름 | 값 |
---|---|
Number.MAX_VALUE | 1.7976931348623157e+308 (1.7976931348623157 * 10(308승)) |
Number.MIN_VALUE | 5e-324 (5 * 10(-324승)) |
Number.NaN | Not-a-Number |
Number.POSITIVE_INFINITY | Infinity |
Number.NEGATIVE_INFINITY | -Infinity |
- 상수는 값을 변경, 삭제할 수 없음
- 영문 대문자 사용이 관례
- Number.MAX_VALUE 형태로 값 사용
상수는 이렇게 빌트인 오브젝트 Number 를 바로 작성해서 사용합니다.
Number.~~