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.')
}