카테고리 없음
[JS] JavaScript Number 객체 완벽 가이드 | 숫자 다루는 방법 총정리
crushed-taro
2025. 3. 28. 21:24
728x90
반응형
[JS] JavaScript Global Object 완벽 가이드 | 글로벌 객체 개념과 활용법
[JS] JavaScript Global Object 완벽 가이드 | 글로벌 객체 개념과 활용법
[JS] JavaScript 배열(Array) 메서드 총정리 – map, filter, reduce 완벽 가이드 [JS] JavaScript 배열(Array) 메서드 총정리 – map, filter, reduce 완벽 가이드[JS] ‘use strict’의 모든 것 | JavaScript 코드 안정성을 높
crushed-taro.tistory.com
1. Number
- 표준 빌트인 객체인 Number는 원시 타입인 숫자를 다룰 때 유용한 프로퍼티와 메서드를 제공한다.
1. Number
/* Number 생성자 함수 */
const obj = new Number(); // Number 인스턴스 생성
console.log(obj); // 인수 전달하지 않을 경우 0을 할당
const obj2 = new Number(1);
console.log(obj2); // 인수로 전달 받은 숫자 할당
const obj3 = new Number('1');
console.log(obj3); // 인수로 전달 받은 문자 숫자로 형변환
const obj4 = new Number('number');
console.log(obj4); // 숫자 형변환 불가 시 NaN
2. Number property
- Number.MAX_VALUE
- 자바스크립트에서 표현할 수 있는 가장 큰 양수 값
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
console.log(Infinity > Number.MAX_VALUE); // 무한대가 크다
- Number.MIN_VALUE
- 자바스크립트에서 표현할 수 있는 가장 작은 양수 값
console.log(Number.MIN_VALUE); // 5e-324
console.log(Number.MIN_VALUE > 0); // 0보다 크다
- Number.MAX_SAFE_INTEGER
- 자바스크립트에서 안전하게 표현할 수 있는 가장 큰 정수 값 ### Number.MIN_SAFE_INTEGER
- 자바스크립트에서 안전하게 표현할 수 있는 가장 작은 정수 값
console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991
- Number.POSITIVE_INFINITY
- 양의 무한대를 나타내는 숫자값 Infinity와 같다 ### Number.NEGATIVE_INFINITY
- 음의 무한대를 나타내는 숫자값 -Infinity와 같다
console.log(Number.POSITIVE_INFINITY); // Infinity
console.log(Number.NEGATIVE_INFINITY); // -Infinity
- Number.NaN
- 숫자가 아님을 나타내는 숫자 값
console.log(Number.NaN); // NaN
- Number.EPSILON
- 부동 소수점으로 인해 발생하는 오차를 해결하기 위해 사용한다
console.log(Number.EPSILON); // 1과 1보다 큰 숫자 중에서 가장 작은 숫자와의 차이와 같다
console.log(0.1 + 0.2); // 부동소수점 표현은 2진법으로 변환했을 때 무한소수가 되어 미세한 오차가 발생할 수 밖에 없다
console.log(0.1 + 0.2 === 0.3); // false
console.log(isEqual(0.1 + 0.2, 0.3)); // true
function isEqual(a, b) { // a - b의 절대값이 Number.EPSILON 보다 작으면 같은 수로 인정한다
return Math.abs(a - b) < Number.EPSILON;}
3. Number method
- Number.isFinite
- 인수로 전달 된 숫자값이 정상적인 유한수인지 검사하여 결과를 불리언으로 반환
console.log(Number.isFinite(10)); // true
console.log(Number.isFinite(-10)); // true
console.log(Number.isFinite(Infinity)); // false
console.log(Number.isFinite(-Infinity)); // false
console.log(Number.isFinite(NaN)); // false
console.log(Number.isFinite(null)); // 빌트인 전역함수 isFinite는 암묵적 타입변환을 한다.
console.log(isFinite(null));
- Number.isInteger
- 인수로 전달 된 숫자값이 정수인지 검사하여 결과를 불리언으로 반환
console.log(Number.isInteger(10)); // true
console.log(Number.isInteger(-10)); // true
console.log(Number.isInteger(10.10)); // false
console.log(Number.isInteger(-10.10)); // false
console.log(Number.isInteger('10')); // false
console.log(Number.isInteger(false)); // false
console.log(Number.isInteger(Infinity)); // false
console.log(Number.isInteger(-Infinity)); // false;
- Number.isNaN
- 인수로 전달 된 숫자값이 NaN인지 검사하여 결과를 불리언으로 반환
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(undefined)); // false// 빌트인 전역함수 isNaN은 암묵적 타입변환을 한다
console.log(isNaN(undefined));
- Number.isSafeInteger
- 인수로 전달 된 숫자값이 안전한 정수인지 검사하여 결과를 불리언으로 반환
console.log(Number.isSafeInteger(10)); // true
console.log(Number.isSafeInteger(1000000000000000000000)); // false
console.log(Number.isSafeInteger(10.10)); // false
console.log(Number.isSafeInteger('10')); // false
console.log(Number.isSafeInteger(false)); // false
console.log(Number.isSafeInteger(Infinity)); // false
- Number.prototype.toExponential
- 숫자를 지수 표기법으로 변환하여 문자열로 반환
// e 앞에 있는 숫자에 10의 n승을 곱하는 형식으로 수를 나타낸다
console.log((1.23456).toExponential()); // 1.23456e+0// 소수점 이하로 표현할 자리수 전달한다.
console.log((1.23456).toExponential(3)); // 1.235e+0
console.log((1.23456).toExponential(1)); // 1.2e+0
- Number.prototype.toFixed
- 숫자를 반올림하여 문자열로 반환
// 반올림 하는 소수점 이하 자리수를 나타내는 0~20 사이의 정수값을 인수로 전달할 수 있다
console.log((1.23456).toFixed()); // 1
console.log((1.23456).toFixed(3)); // 1.235
console.log((1.23456).toFixed(1)); // 1.2
- Number.prototype.toPrecision
- 인수로 전달 받은 전체 자릿수까지 유효하도록 나머지 자릿수를 반올림하여 문자열로 반환
// 0~21사이의 정수 값을 인수로 전달할 수 있으며 생략하면 기본값 0이 지정된다
console.log((123.456).toPrecision()); // 123.456
console.log((123.456).toPrecision(5)); // 123.46
console.log((123.456).toPrecision(3)); // 123
console.log((123.456).toPrecision(1)); // 1e+2
- Number.prototype.toString
- 숫자를 문자열로 변환하여 반환
// 진법을 나타내는 2~36 사이의 정수값을 인수로 전달할 수 있다
console.log((100).toString()); // 100
console.log((100).toString(2)); // 1100100
console.log((100).toString(8)); // 144
console.log((100).toString(16)); // 64
728x90
반응형