JavaScript 숫자와 NaN, 그리고 연산자 완벽 가이드
JavaScript는 강력하고 유연한 숫자 처리를 제공합니다. 이 글에서는 숫자(Number) 타입, 다양한 연산자, 그리고 NaN과 같은 특수 값에 대해 알아보겠습니다.
JavaScript의 숫자 (Numbers)
JavaScript에서 숫자는 모두 Number 타입으로 처리됩니다. 정수와 실수 구분 없이 64비트 부동소수점 형식으로 저장되며, 아래와 같은 형태를 가질 수 있습니다:
- 정수:
1,42,-7 - 소수(실수):
3.14,-0.001,2e3(2 × 10³ = 2000) - 특수 숫자 값:
Infinity,-Infinity,NaN
숫자 관련 메서드
다양한 메서드를 사용하여 숫자를 조작하거나 검증할 수 있습니다:
Number.isInteger(value): 정수 여부 확인Number.isNaN(value): 값이NaN인지 확인Math.floor(),Math.ceil(),Math.round(): 내림, 올림, 반올림 처리parseInt(),parseFloat(): 문자열을 숫자로 변환
연산자 (Operators)
JavaScript는 숫자를 다룰 때 다양한 연산자를 제공합니다.
기본 산술 연산자
| 연산자 | 설명 | 예시 | 결과 |
|---|---|---|---|
+ |
덧셈 | 5 + 3 |
8 |
- |
뺄셈 | 10 - 7 |
3 |
* |
곱셈 | 4 * 2 |
8 |
/ |
나눗셈 | 9 / 3 |
3 |
% |
나머지 | 10 % 4 |
2 |
** |
거듭제곱 (ES6 지원) | 2 ** 3 |
8 |
단항 연산자
| 연산자 | 설명 | 예시 | 결과 |
|---|---|---|---|
+ |
숫자로 변환 | +"3" |
3 |
- |
부호 반전 | -5 |
-5 |
증감 연산자
| 연산자 | 설명 | 예시 | 결과 |
|---|---|---|---|
++ |
1 증가 (전위/후위) | x++, ++x |
값 증가 |
-- |
1 감소 (전위/후위) | x--, --x |
값 감소 |
NaN (Not-a-Number)
NaN은 “숫자가 아님”을 나타내는 값으로, 잘못된 수학 연산이 수행될 때 반환됩니다.
NaN이 발생하는 경우
- 부적절한 변환:
Number("abc"); // NaN - 잘못된 수학 연산:
Math.sqrt(-1); // NaN 0 / 0; // NaN
NaN의 특징
NaN은 자기 자신과도 같지 않습니다:console.log(NaN === NaN); // falseisNaN(value)또는Number.isNaN(value)를 사용하여 확인할 수 있습니다:console.log(isNaN("hello")); // true console.log(Number.isNaN("hello")); // false console.log(Number.isNaN(NaN)); // true
Infinity와 -Infinity
JavaScript는 무한대를 나타내는 두 가지 특수 숫자 값을 제공합니다:
Infinity: 값이 양의 무한대일 때 사용.console.log(1 / 0); // Infinity-Infinity: 값이 음의 무한대일 때 사용.console.log(-1 / 0); // -Infinity
숫자 변환
JavaScript에서 값을 숫자로 변환하는 방법은 다음과 같습니다:
명시적 변환
Number(value): 숫자로 변환Number("123"); // 123 Number("abc"); // NaNparseInt(value),parseFloat(value): 문자열을 숫자로 변환parseInt("42px"); // 42 parseFloat("3.14"); // 3.14
암시적 변환
JavaScript는 연산에 따라 값을 자동으로 숫자로 변환합니다:
console.log("5" - 2); // 3 ("5"가 숫자로 변환)
console.log("5" + 2); // "52" (문자열 연결)
JavaScript의 숫자와 관련된 모든 기본 개념을 익히셨나요? 위 내용을 실습하며 정확히 이해해보세요! 😊
Leave a comment