Sumário
O objeto JavaScript Number é um objeto encapsulado que permite você trabalhar com valores numéricos. Um objeto Number é criado utilizando o construtor Number().
Construtor
new Number(value);
Parâmetros
value- O valor numérico do objeto sendo criado.
Descrição
Os principais usos para o objeto Number são:
- Se o objeto não pode ser convertido para um número, é retornado
NaN. - Fora do contexo de um construtor (Ex., Sem o operador
new,Numberpode ser utilizador para realizar uma conversão de tipo.
Propriedades
Number.EPSILON- O menor intervalo entre dois números representáveis.
Number.MAX_SAFE_INTEGER- O inteiro máximo seguro em JavaScript (253 -1).
Number.MAX_VALUE- O maior número representável positivo.
Number.MIN_SAFE_INTEGER- O inteiro mínimo seguro em JavaScript (-(253 -1)).
Number.MIN_VALUE- O número mínimo representável positivo - isto é, o número positivo mais próximo de zero (sem ser zero na verdade).
Number.NaN- Valor especial que não é número.
Number.NEGATIVE_INFINITY- Valor especial representando infinito negativo; retornado no "overflow".
Number.POSITIVE_INFINITY- Valor especial representando infinito; retornado no "overflow".
Number.prototype- Permite a adição de propriedades a um objeto Number.
Methods
Number.isNaN()- Determina se o valor passado é NaN.
Number.isFinite()- Determina se o tipo e o valor passado é um número finito.
Number.isInteger()- Determina se o tipo do valor passado é inteiro.
Number.isSafeInteger()- Determina se o tipo do valor passado é um inteiro seguro (número entre -(253 -1) e 253 -1).
Number.toInteger()Usado para avaliar o valor passado e convertê-lo a um inteiro (ou infinito), mas foi removido.Number.parseFloat()- O valor é o mesmo que
parseFloatdo objeto global. Number.parseInt()- O valor é o mesmo que
parseIntdo objeto global.
Instâncias Number
Toda instância Number herdam de Number.prototype. O objeto 'prototype' do construtor Number pode ser modificado para afetar todas as instâncias Number.
Métodos
Number.prototype.toExponential()- Returns a string representing the number in exponential notation.
Number.prototype.toFixed()- Returns a string representing the number in fixed-point notation.
Number.prototype.toLocaleString()- Returns a string with a language sensitive representation of this number. Overrides the
Object.prototype.toLocaleString()method. Number.prototype.toPrecision()- Returns a string representing the number to a specified precision in fixed-point or exponential notation.
Number.prototype.toSource()- Returns an object literal representing the specified
Numberobject; you can use this value to create a new object. Overrides theObject.prototype.toSource()method. Number.prototype.toString()- Returns a string representing the specified object in the specified radix (base). Overrides the
Object.prototype.toString()method. Number.prototype.valueOf()- Returns the primitive value of the specified object. Overrides the
Object.prototype.valueOf()method.
Exemplos
Exemplo: Usando o objeto Number para atribuir valores a variáveis numéricas
O seguinte exemplo usa as propriedades do objeto Number para atribuir valores a várias variáveis numéricas:
var biggestNum = Number.MAX_VALUE; var smallestNum = Number.MIN_VALUE; var infiniteNum = Number.POSITIVE_INFINITY; var negInfiniteNum = Number.NEGATIVE_INFINITY; var notANum = Number.NaN;
Exemplo: Intervalo inteiro para Number
O seguinte exemplo mostra os valores inteiros mínimo e máximo que podem ser representados como objeto Number (para mais detalhes, referir-se ao padrão EcmaScript standard (EcmaScript standard), capítulo 8.5 O tipo de número (The Number Type):
var maxInt = 9007199254740992; var minInt = -9007199254740992;
Ao analisar dados que foram serializados para JSON, valores inteiros que caem fora desse intervalo podem ser corrompidos quando o analisador JSON os converte ao tipo Number. Usando String em vez disso é uma possível alternativa para se evitar um resultado indesejado.
Exemplo: Usando Number para converter um objeto Date
O exemplo a seguir converte o objeto Date para um valor numérico usando Number como uma função:
var d = new Date("December 17, 1995 03:24:00");
print(Number(d));
Isto resulta em "819199440000".
Converte 'string' numérica em números
Number('123') // 123
Number('12.3') // 12.3
Number('') // 0
Number('0x11') // 17
Number('0b11') // 3
Number('0o11') // 9
Number('foo') // NaN
Number('100a') // NaN
Especificações
| Especificação | Situação | Comentário |
|---|---|---|
| Primeiro edição ECMAScript. Implementado em JavaScript 1.1 | Padrão | definição inicial. |
| ECMAScript 5.1 (ECMA-262) The definition of 'Number' in that specification. |
Padrão | |
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Number' in that specification. |
Padrão | Novos métodos e propriedades adicionadas (EPSILON, isFinite, isInteger, isNaN, parseFloat, parseInt) |
Compatibilidade de navegadores
| Configuração | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Suporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Configuração | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Suporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |