En JavaScript existen 3 valores que se consideran números pero que no se comportan igual que los números normales.

Los primeros dos son Infinity (infinito positivo) y -Infinity (infinito negativo). Estos valores se comportan igual que los números infinitos que aprendimos en nuestras clases de matemática, por ejemplo: si sumas algo a Infinity el resultado seguira siendo Infinity.

El otro valor es NaN (not a number), que se traduciria como "no es un número".

Este valor suele darse cuando intentas representar un número que no es un número por ejemplo la division de 0/0 o Infinity - Infinity, o cualquier otra operación que no te genere un número como 5*"hola".

Recuerda que estos valores especiales (Infinity, -Infinity y NaN) son considerados de tipo Number en JavaScript.