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

questionAnswers(5)

yourAnswerToTheQuestion