[ES6] 06. 숫자형 [ Infinity, 음수 무한대(-Infinity) , NaN , BigInt ]
자바스크립트 대표 자료형중 숫자형에는, [ Infinity, 음수 무한대(-Infinity) , NaN , BigInt ] 있다.
ES6(ECMAScript 6)에서는 숫자형 타입(Number 타입)에서 무한대(Infinity), 음수 무한대(-Infinity), NaN(Not a Number)이라는 특수값을 제공합니다.
1. 무한대(Infinity)
무한대(Infinity) 값은 매우 큰 숫자를 나타내는 상수입니다. 어떤 숫자와도 비교하면 항상 그 수보다 크며, 자바스크립트에서는 "Infinity"라는 이름으로 사용됩니다.
```javascript
let inf = Infinity;
console.log(inf); // 결과: Infinity
console.log(inf + 1); // 결과: Infinity
console.log(inf === inf + 1); // 결과: true
```
위 코드에서는 "let inf = Infinity"라는 선언문을 이용해, 무한대 상수를 inf 변수에 대입하고, 이를 이용하여 다양한 연산을 수행하도록 하고 있습니다.
2. 음수 무한대(-Infinity)
음수 무한대(-Infinity) 값은 매우 작은 음의 숫자를 나타내는 상수입니다. 어떤 숫자와도 비교하면 항상 그 수보다 작으며, 자바스크립트에서는 "-Infinity"라는 이름으로 사용됩니다.
```javascript
let ninf = -Infinity;
console.log(ninf); // 결과: -Infinity
console.log(ninf - 1); // 결과: -Infinity
console.log(ninf < inf); // 결과: true
```
위 코드에서는 "let ninf = -Infinity"라는 선언문을 이용해, 음수 무한대 상수를 ninf 변수에 대입하고, 이를 이용하여 다양한 연산을 수행하도록 하고 있습니다.
3. NaN(Not a Number)
NaN은 숫자가 아님을 나타내는 특수한 값을 의미합니다. 이 값은 반환되는 수치 계산이 불가능한 경우에 자바스크립트에서 대체값으로 사용됩니다. 예를 들어, 0으로 나누거나 숫자가 아닌 값을 계산하려고 시도할 때 NaN 값이 반환됩니다.
```javascript
let nan = NaN;
console.log(nan); // 결과: NaN
console.log(1 / nan); // 결과: NaN
console.log(0 / 0); // 결과: NaN
```
위 코드에서는 "let nan = NaN"라는 선언문을 이용해, NaN 상수를 nan 변수에 대입하고, 이를 이용하여 다양한 연산을 수행하도록 하고 있습니다.
ES2020(ECMAScript 2020)에서는 BigInt라는 새로운 자료형을 지원합니다. BigInt는 매우 큰 정수 값을 안전하게 처리하도록 하는 자료형입니다.
JS에서 기본적으로 제공되는 Number 자료형은 64비트 실수값을 저장하므로, 2^53-1 (약 9,007,199,254,740,991)보다 큰 정수는 정확한 값으로 계산되지 않거나 반올림되는 문제가 있습니다. 때문에 BigInt는 이러한 오차 없이 큰 수를 나타낼 수 있도록 설계되었습니다.
4. BigInt는 다음과 같은 방법으로 선언됩니다.
```javascript
const bigNum = 1234567890123456789012345678901234567890n;
```
위 코드에서는 bigInt 타입의 변수 bigNum에 매우 큰 정수 값을 할당하고 있습니다.
BigInt는 Number 타입과 동일한 방식으로 구문 분석해야 하므로, 숫자
+++++++
ES6(ECMAScript 6)에서의 숫자형 타입은 64-bit 부동소수점 형식의 값을 나타내는 Number 객체를 사용합니다. 이는 이전의 자바스크립트 버전과 동일합니다. 따라서 숫자형 타입의 값은 실수형으로 취급됩니다.
JavaScript에서는 정수형 타입이 별도로 존재하지 않습니다. 모든 숫자는 부동 소수점 형식으로 표시됩니다.
자바스크립트는 큰 숫자와 작은 숫자 모두를 처리할 수 있습니다. Number 객체에서는 매우 큰 수를 나타내는 Infinity 상수와 매우 작은 수를 나타내는 -Infinity 상수, 그리고 NaN(Not a Number)이라는 특별한 숫자형 값을 지원합니다.
```javascript
let num1 = 10;
let num2 = 3.14;
let num3 = Infinity;
let num4 = -Infinity;
let num5 = NaN;
console.log(typeof num1); // 결과: number
console.log(typeof num2); // 결과: number
console.log(typeof num3); // 결과: number
console.log(typeof num4); // 결과: number
console.log(typeof num5); // 결과: number
```
위 코드에서는 JavaScript에서의 Number 객체를 이용하여 다양한 숫자를 선언하고, 이들의 자료형(type)을 출력하도록 하고 있습니다.
숫자형 변수는 산술 연산 또는 비교 연산 등 다양하게 사용될 수 있습니다. 따라서 숫자형 타입을 이해하고, 숫자 데이터를 적절하게 처리할 수 있어야 합니다.
#숫자형 #숫자형함수 #데이터타입 #javascript숫자형 #타입캐스팅 #자바스크립트데이터타입 #숫자 #숫자로딩 #숫자자료형 #프로토타입 #xd프로토타입 #기본데이터타입 #엑셀숫자텍스트 #엑셀숫자텍스트로 #엑셀숫자표시형식 #엑셀텍스트숫자반환 #생활코딩
#자바스크립트 #자바스크립트기초 #자바스크립트강좌 #자바스크립트입문 #자바스크립트강의 #자바스크립트역사 #바닐라자바스크립트 #자바스크립트기초강좌 #자바스크립트변수 #자바스크립트강의 #자바스크립트자료형 #자료형 #자바스크립트데이터타입 #자바스크립트함수
'컴퓨터공부 > Javascript' 카테고리의 다른 글
[ES6] 07. 문자열 거듭제곱, 숫자 거듭제곱 (0) | 2023.05.25 |
---|---|
[ES6] 07. 문자열 백틱,${} (0) | 2023.05.25 |
[ES6] 05. 정적타입, 동적타입 (0) | 2023.05.25 |
[ES6] 04. 변수와 false 연동법 과 true 연동법 (0) | 2023.05.23 |
댓글