--- title: Number slug: Web/JavaScript/Reference/Global_Objects/Number tags: - JavaScript - Number - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Number ---
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
객체의 주된 용도는 다음과 같습니다.
Number
를 사용하여 형변환을 할 수 있습니다.253 - 1
)-(253 - 1)
)Number
객체에 속성을 추가할 수 있습니다.NaN
인지 확인합니다.-(253 - 1)
과 253 - 1
사이의 정수)인지 확인합니다.Number
인스턴스모든 Number
인스턴스는 {{jsxref("Number.prototype")}}를 상속합니다. Number
생성자의 프로토타입 객체는 모든 Number
인스턴스에 영향을 미치도록 수정할 수 있습니다.
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")}}