De vez em quando, aprendo sobre uma propriedade JavaScript que gostaria de ter conhecido anos antes. valueAsNumber é uma delas. O valueAsNumber fornece o valor de um input[type=number] como um tipo Number, em vez da representação tradicional de string quando o senhor obtém o valor:

/*
 Assuming an <input type="number" value="1.234" />
*/

// BAD: Get the value and convert the number
input.value // "1.234"
const numberValue = parseFloat(input.value, 10);

// GOOD: Use valueAsNumber
input.valueAsNumber // 1.234

Essa propriedade nos permite evitar que o parseInt/parseFloat, mas há um problema com valueAsNumber é que ele retornará NaN se o input estiver vazio.

Agradeço ao senhor Steve Sewell por me informar sobre o valueAsNumber!

  • buscar API

    Um dos segredos mais mal guardados sobre AJAX na Web é que a API subjacente a ele, XMLHttpRequest, não foi realmente criada para o uso que estamos fazendo dela. Fizemos bem em criar APIs elegantes em torno do XHR, mas sabemos que podemos fazer melhor. Nosso esforço para…

  • Animação CSS vs. JS: O que é mais rápido?

    Como é possível que a animação baseada em JavaScript sempre tenha sido secretamente tão rápida – ou mais rápida – do que as transições CSS? E, como é possível que a Adobe e o Google lancem consistentemente sites móveis ricos em mídia que rivalizam com o desempenho de aplicativos nativos?

  • Senhas no estilo do iPhone usando o MooTools PassShark

    De vez em quando, encontro um plug-in que me surpreende, e o culpado mais recente é o PassShark: um plug-in do MooTools que duplica o método do iPhone de mostrar/ocultar o último caractere em um campo de senha. Essa joia de…

  • Colunas CSS

    Uma das principais queixas que sempre tivemos em relação ao CSS é que a criação de layouts parece ser mais difícil do que deveria. É claro que adaptamos e dominamos as técnicas de criação de layouts, mas não há como deixar de pensar que deveria haver uma forma de…