Por que verificar! IsNaN () depois de isFinite ()?
Me deparei com ogoog.math.isFiniteNumber
na funçãoiblioteca do Google Closure. O que ele faz é verificar se um determinado número é finito e nãoNaN
.
O código subjacente é:
goog.math.isFiniteNumber = function(num) {
return isFinite(num) && !isNaN(num);
};
Então, primeiro ele verifica se o número é finito usando o @ natiisFinite
e, em seguida, faz uma verificação adicional para garantir que o número não sejaNaN
usandoisNaN
.
Contudo,isFinite
já retorna false, caso o argumento sejaNaN
. Então, quais vantagens a verificação paraisNaN
providenciar