javascript switch / case: czy typy są porównywane? [duplikować]

Możliwy duplikat:
Czy można bezpiecznie stosować ścisłe porównanie w instrukcji przełączania Javascript?

Czy instrukcja switch / case w javascript porównuje typy lub tylko wartości?

Innymi słowy, gdy mam następujący kod:

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

czy to jest równoważne

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

lub

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

edytuj: czy istnieje sposób wymuszenia jednoczesnego porównywania wartości i typów?

questionAnswers(2)

yourAnswerToTheQuestion