Punto de escape en un rango de expresiones regulares

Por alguna razón esos dos regex actúan de la misma manera:

<code>"43\\gf..--.65".replace(/[^\d.-]/g, "");​  // 43..--.65
"43\\gf..--.65".replace(/[^\d\.-]/g, "");​  // 43..--.65
</code>

Manifestación

En el primer regex no escapo del punto (.) mientras que en el segundo regex hago (\.).

¿Cuáles son las diferencias y por qué actúan igual?

Respuestas a la pregunta(4)

Su respuesta a la pregunta