Valores infinitos com `Infinity` no JavaScript

Números / Tutorial JavaScript

Infinity é um valor numérico que representa infinito. Ele é o resultado de certas operações matemáticas que resultam em infinito. Vejamos alguns casos:

// Divisão por zero
let a = 5/0 // resulta em Infinity

// Tentativa de encontrar o maior número sem argumentos
let b = Math.max() // resulta em -Infinity

// Multiplicação por infinito
let c = 10 * Infinity // resulta em Infinity

Algumas operações são possíveis com o valor infinito, vejamos:

// Multiplicação por infinito
let a = 10 * Infinity // resulta em Infinity

// Infinito é maior que qualquer número positivo
let b = Infinity > 100 // resulta em true

// -Infinito é menor do que qualquer número negativo
let c = -Infinity < -100 // resulta em true

Validando se o valor é Infinity

Utilize o próprio valor Infinity para validar se o valor é infinito. Exemplo:

let resultado = 5/0
if (resultado === Infinity) {
  console.log('A variável tem valor infinito.')
}

Evite utilizar a negação da função isFinite() para validar se o valor é infinito, pois a checagem pode gerar um falso positivo. Exemplo:

// Resulta em true
let a = !isFinite(5/0)

// Também resulta em true
let b = !isFinite('Joaquim')

Se precisar validar corretamente se um valor é finito, utilize a função isFinite() diretamente com números. Exemplo:

let valor = 100
if (isFinite(valor)) {
  console.log('O valor é finito.')
} 
else {
  console.log('O valor não é finito.')
}