Sobes.tech
Middle

O que é a propriedade valueAsNumber?

sobes.tech IA

Resposta da IA

A propriedade valueAsNumber está disponível nos elementos HTML <input>. Ela devolve a representação numérica do valor do campo de entrada, se o navegador conseguiu interpretá-lo como um número. Caso contrário, devolve NaN.

Esta propriedade é especialmente útil para tipos <input type="number">, <input type="range">, <input type="date"> e <input type="time">, pois ela trata automaticamente da conversão de valores de string para valores numéricos ou representações numéricas de data/hora.

Exemplo de uso:

// Obter o elemento input
const numberInput = document.getElementById('myNumberInput');

// Obter o valor numérico
const valueAsNumber = numberInput.valueAsNumber;

// Verificar se a conversão para número foi bem-sucedida
if (isNaN(valueAsNumber)) {
  console.log('O valor não é um número.');
} else {
  console.log('Valor numérico:', valueAsNumber);
}

Se o input tiver o tipo date ou time, valueAsNumber retornará o número de milissegundos desde o início da época (1 de janeiro de 1970, 00:00:00 UTC).

// Obter o elemento input de tipo date
const dateInput = document.getElementById('myDateInput');

// Obter o timestamp em milissegundos
const timestamp = dateInput.valueAsNumber;

console.log('Timestamp:', timestamp);

// Converter o timestamp em um objeto Date
const dateObject = new Date(timestamp);
console.log('Objeto Date:', dateObject);

É importante notar que valueAsNumber leva em consideração automaticamente as configurações locais de formatação de números e datas ao fazer o parsing, o que simplifica o trabalho com aplicações web internacionalizadas em comparação com o parsing manual de value.