일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- network
- Redux
- Database
- 안드로이드
- CS
- vscode
- java
- 알고리즘
- Javascript
- frontend
- LeetCode
- Python
- 백준
- 그레이들
- Data Structure
- BFS
- VIM
- react
- Graph
- git
- TypeScript
- db
- 다이나믹 프로그래밍
- DP
- 리트코드
- 프로그래머스
- DFS
- 동적 계획법
- 자바
- Algorithm
Archives
- Today
- Total
늘 겸손하게
JavaScript - 숫자 타입 본문
JavaScript 숫자 타입
C, 자바는 소수가 없는 정수, 소수가 있는 실수를 따로 구분합니다.
정수는 int, long, 실수는 float, double 타입을 제공하나 자바스크립트는 실수 하나만 지원합니다.
ECMAScript 사양 자바스크립트 숫자 타입의 값은 배정밀도 64비트 부동소수점 형식을 따릅니다. 즉, 모든 수를 실수로 처리합니다.
따라서 정수로 표시되어도 사실은 실수입니다.
// 숫자 타입은 모두 실수로 처리된다.
console.log(1 === 1.0); // true
숫자 타입은 추가적으로 세 가지 특별한 값도 지원합니다.
- Infinity : 양의 무한대
- -Infinity : 음의 무한대
- NaN : Not a Number (산술 연산이 불가능)
Infinity & -Infinity
각각 양의 무한대, 음의 무한대를 표현합니다.
console.log(10 / 0); // Infinity
console.log(10 / -0); // -Infinity
NaN : Not a Number
주어진 연산의 계산이 불가능할 경우 반환됩니다.
console.log(1 * "Hello world"); // NaN
console.log(100 / "Water"); // NaN
console.log("Hello " * "World"); // NaN
주의할 점은 NAN, nan, Nan이 아닌 NaN이라는 점입니다. 자바스크립트는 대소문자를 구분하므로 자바스크립트 엔진은 NAN, nan, Nan을 식별자로 인식합니다.
숫자 표현 범위
자바스크립트 표준 빌트인 객체인 Number가 지원하는 MAX_VALUE, MIN_VALUE를 통해 확인할 수 있다.
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
console.log(Number.MIN_VALUE); // 5e-324
대략 2^-1022 ~ 2^1023 범위 내 표현이 가능하다.
'Programming > JavaScript' 카테고리의 다른 글
JavaScript - 논리연산자 '&&', '||' (0) | 2023.08.26 |
---|---|
JavaScript - 랜덤 함수 구현 (0) | 2023.08.21 |
JavaScript - for / in & for / of (0) | 2023.08.01 |
JavaScript - 객체 속성 규칙 (0) | 2023.07.15 |
JavaScript - 암묵적 타입 변환 (0) | 2023.07.15 |