숫자 데이터를 생성하는 생성자 함수이다.
new
연산자를 사용하여 생성된 인스턴스를 숫자 데이터로 사용하는 것과 new
연산자 없이 주어진 인수를 'number'
타입으로 변환하여 사용하는 방식 모두가 숫자 데이터를 생성하는 것이지만 생성된 데이터의 타입에 있어서는 차이가 있다. new
연산자를 사용하는 경우에는 타입이 'object'
이고 new
연산자 없이 함수만을 사용하여 타입을 변환하는 경우에는 원시 유형을 의미하는 "number"
가 된다.
new Number(value)
생성된 Number
객체의 인스턴스를 숫자 데이터로 사용한다. 생성된 인스턴스는 데이터 타입이 "object"
이다.
가능한 값의 유형은 정해지지 않았지만 숫자로 변환이 가능한 값이어야 한다. 그렇지 않은 값은 NaN
을 반환한다. 숫자로 변환 가능한 값의 예는 다음과 같다.
10
"10"
true
or false
지정된 값으로 새로운 Number
객체의 인스턴스를 반환한다. 지정된 값이 Number
타입으로 사용할 수 없는 값인 경우에 NaN
을 반환한다.
지정된 this
와 제공된 인수를 가진 배열 또는 유사 배열로 함수를 호출한다.
원본 함수와 동일한 본문을 갖는 바인딩된 함수를 만든다. this
키워드가 있는 경우 실제로 자신을 참조할 수 있도록 활성화된다.
인수를 지정하여 함수를 호출한다.
함수의 소스 코드를 반환한다.
객체가 특정 프로퍼티를 가지고 있는지를 블린(boolean
) 값으로 반환한다.
해당 객체가 다른 객체의 프로토타입 체인에 속한 객체인지를 체크한다.
매개 변수의 속성이 열거가능(enumerable)한지 여부를 체크한다.
객체를 나타내는 문자열을 작동하는 지역(locale)의 방식으로 출력이 된다.
객체를 나타내는 문자열을 반환한다.
객체의 원시(primitive) 값을 반환한다.
객체의 생성자 함수를 참조한다.
상속된 [[Prototype]]
참조하거나 설정가능하며 일반적으로 실제 코드상에서는 잘 사용되지 않는다. ECMAScript에서 사용되지 않는 비표준이지만 최신 웹브라우저에서는 비공식적으로 지원하고 있다. 따라서 곧 표준 속성으로 지원될 확률이 높다.
var num1 = new Number(10);
var num2 = Number(10);
// 값은 같지만,
num1 == num2 // true
// 타입은 다르다.
num1 === num2 // false