Cristofer Sousa | Front-end Developer

O tipo Number em JavaScript

Em JavaScript number sempre serão pontos flutuantes independente da forma como você declara eles seja inteiro. Vamos nos basear no exemplo a seguir, para isso vamos usar o === que compara tipo e valor:

if(1 === 1.0) {
  console.log(1 === 1.0);
}
 saída > isso resulta em uma operação verdadeira,  e além do mais os dois valores são iguais além de ser do tipo `number`.  

Agora vamos comparar um tipo number com um tipo string, porém agora temos que usar apenas == pois serão tipos diferentes e resultarão em false se comparar os tipos.

  let numero = 1;
  let string = "1";

  if (numero == string) {
    console.log ('verdade');
  } else {
    console.log ('falso');
  }

  saída >  verdade

NAN (Not a Number)

NaN é um erro que ocorre sempre que se espera por um número, e acabamos por receber outros valores, apesar de JavaScript não usar tipagem estática, dentro do motor de processamento de sua engine ele sabe examente como lidar com isto, e acaba disparando essa exceção.

 console.log(Number('123'));
 saída > undefined

Por que no exemplo acima ele gerou undefined?

 console.log(Number('teste'));
 saída > NaN

Ele tenta ler um tipo String como Number e gera a exceção.

Conclusão

Simples né, praticamente entender que todo número em JavaScript é convertido para um tipo float e existe o NaN que é quando a engine do JavaScript não reconhece o que foi atribuido. Ainda ficou faltando falar como fazer conversão de String para Number e como podemos fazer um typecast para Integer ao invés de float.

That’s all folḱs!