javascript switch / case: son tipos comparados? [duplicar]

Posible duplicado:
¿Es seguro asumir una comparación estricta en una instrucción de cambio de Javascript?

¿Una declaración de cambio / caso en javascript compara tipos o solo valores?

En otras palabras, cuando tenga el siguiente código:

switch (variable)
{
    case "0": [...] break;
    case "1": [...] break;
    default: [...] break;
}

es equivalente a

if ( variable == "0" )
{
    [...]
}
else if ( variable == "1" )
{
    [...]
}
else
{
    [...]
}

o para

if ( variable === "0" )
{
    [...]
}
else if ( variable === "1" )
{
    [...]
}
else
{
    [...]
}

edición: ¿hay una manera de forzar la comparación de valores y tipos a la vez?

Respuestas a la pregunta(2)

Su respuesta a la pregunta