--- title: Number slug: Web/JavaScript/Reference/Global_Objects/Number tags: - JavaScript - Number - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Number ---
{{JSRef}}

Number 객체는 숫자 값으로 작업할 수 있게 해주는 래퍼wrapper 객체입니다. Number 객체는 Number() 생성자를 사용하여 만듭니다. 원시 숫자 자료형은 Number() 함수를 사용해 생성합니다.

구문

new Number(value);
var a = new Number('123'); // a === 123은 false
var b = Number('123'); // b === 123은 true
a instanceof Number; // true
b instanceof Number; // false

매개변수

value
생성할 객체의 숫자 값.

설명

Number 객체의 주된 용도는 다음과 같습니다.

속성

{{jsxref("Number.EPSILON")}}
두 개의 표현 가능한 숫자 사이의 최소 간격.
{{jsxref("Number.MAX_SAFE_INTEGER")}}
JavaScript에서 안전한 최대 정수. (253 - 1)
{{jsxref("Number.MAX_VALUE")}}
표현 가능한 가장 큰 양수.
{{jsxref("Number.MIN_SAFE_INTEGER")}}
JavaScript에서 안전한 최소 정수. (-(253 - 1))
{{jsxref("Number.MIN_VALUE")}}
표현 가능한 가장 작은 양수. 즉, 0보다 크지만 0에 가장 가까운 양수.
{{jsxref("Number.NaN")}}
"숫자가 아님"을 나타내는 특별한 값.
{{jsxref("Number.NEGATIVE_INFINITY")}}
음의 무한대를 나타내는 특수한 값. 오버플로우 시 반환됩니다.
{{jsxref("Number.POSITIVE_INFINITY")}}
양의 무한대를 나타내는 특수한 값. 오버플로우 시 반환됩니다.
{{jsxref("Number.prototype")}}
Number 객체에 속성을 추가할 수 있습니다.

메서드

{{jsxref("Number.isNaN()")}}
주어진 값이 NaN인지 확인합니다.
{{jsxref("Number.isFinite()")}}
주어진 값이 유한수 인지 확인합니다.
{{jsxref("Number.isInteger()")}}
주어진 값이 정수인지 확인합니다.
{{jsxref("Number.isSafeInteger()")}}
주어진 값이 안전한 정수(-(253 - 1)과 253 - 1 사이의 정수)인지 확인합니다.
{{jsxref("Number.toInteger()")}} {{obsolete_inline}}
전달 된 값을 평가하고 이를 정수(혹은 {{jsxref("Infinity", "Infinity")}})로 변환하는데 사용되지만, 제거되었습니다.
{{jsxref("Number.parseFloat()")}}
전역 객체 {{jsxref("parseFloat", "parseFloat()")}}와 동일한 값입니다.
{{jsxref("Number.parseInt()")}}
전역 객체 {{jsxref("parseInt", "parseInt()")}}와 동일한 값입니다.

Number 인스턴스

모든 Number 인스턴스는 {{jsxref("Number.prototype")}}를 상속합니다. Number 생성자의 프로토타입 객체는 모든 Number 인스턴스에 영향을 미치도록 수정할 수 있습니다.

메서드

{{page('/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/prototype', 'Methods')}}

예제

Number 객체를 사용해 숫자형 변수에 할당

다음 예제에서는 Number 객체의 속성을 사용하여, 여러 숫자 변수에 값을 할당합니다:

var biggestNum = Number.MAX_VALUE;
var smallestNum = Number.MIN_VALUE;
var infiniteNum = Number.POSITIVE_INFINITY;
var negInfiniteNum = Number.NEGATIVE_INFINITY;
var notANum = Number.NaN;

Number의 정수 범위

다음 예제는 Number 객체가 표현할 수 있는 정수의 최소값과 최대값을 보여줍니다. (자세한 내용은 ECMAScript 표준, 6.1.6 The Number Type 장을 참고하세요)

var biggestInt = 9007199254740992;
var smallestInt = -9007199254740992;

JSON으로 직렬화한 데이터를 읽을 때, 위의 범위를 벗어나는 수는 JSON 분석기의 Number 형변환 시 손상될 수 있습니다. 이 때는 {{jsxref("String")}}을 대신 사용하는 것도 방법입니다.

Number를 사용해 Date 객체 숫자로 변환

다음 예제는 Number를 함수로 사용하여 {{jsxref("Date")}} 객체를 숫자 값으로 변환합니다.

var d = new Date('December 17, 1995 03:24:00');
console.log(Number(d));

819199440000가 기록됩니다.

숫자형 문자열에서 숫자로 변환

Number('123')     // 123
Number('12.3')    // 12.3
Number('123e-1')  // 12.3
Number('')        // 0
Number(null)      // 0
Number('0x11')    // 17
Number('0b11')    // 3
Number('0o11')    // 9
Number('foo')     // NaN
Number('100a')    // NaN

명세

Specification Status Comment
{{SpecName('ES1')}} {{Spec2('ES1')}} Initial definition. Implemented in JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7', 'Number')}} {{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-number-objects', 'Number')}} {{Spec2('ES6')}} New methods and properties added: ({{jsxref("Number.EPSILON", "EPSILON")}}, {{jsxref("Number.isFinite", "isFinite")}}, {{jsxref("Number.isInteger", "isInteger")}}, {{jsxref("Number.isNaN", "isNaN")}}, {{jsxref("Number.parseFloat", "parseFloat")}}, {{jsxref("Number.parseInt", "parseInt")}})
{{SpecName('ESDraft', '#sec-number-objects', 'Number')}} {{Spec2('ESDraft')}}

브라우저 호환성

{{Compat("javascript.builtins.Number")}}

같이 보기