Diferença entre flutuadores e ints em Javascript?

Estou pesquisando alguns dos códigos da Google Closure Library e encontrei esta linha:

var isNegative = number < 0.0 || number == 0.0 && 1 / number < 0.0;

Eu percebi que a razão para uma verificação de sinal tão estranhamente inicial é identificar-0&nbsp;negativo, mas existe algum motivo para usar0.0&nbsp;ao invés de0?