Conversión de tipo de datos implícito en JavaScript cuando se compara un entero con una cadena usando ==

El código

var num = 20;

if(num == "20")
{
    alert("It works");
}
else
{
    alert("Not working");
}

La pregunta

En la programación en C tenemos una promoción de tipo de datos de nombre de regla, donde cuando hay una combinación de tipos de datos (ejemplo: suma de entero y punto flotante), el entero primero se convertirá en punto flotante antes de que se realice la adició

El código anterior me mostrará un cuadro de alerta con el mensaje"It works" que muestra elif la condición de prueba se evalúa como verdadera.

Para JavaScript sin escribir, solo tengo curiosidad: ¿hay alguna regla como C que determine qué conversión se llevará a cabo en qué situación? Además de eso, el código JavaScript anterior conviertenum valor variable de un valor entero a un valor de cadena antes de hacer una comparación o viceversa?

Respuestas a la pregunta(5)

Su respuesta a la pregunta