Diferencia entre flotantes e ints en Javascript?

Estoy revisando parte del código de la Biblioteca de cierre de Google y encontré esta línea:

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

He imaginado que la razón de una verificación de signos tan extraña inicialmente es identificar-0 como negativo, pero ¿hay alguna razón para usar0.0 en lugar de0?