Если результат этого кода показывает, что случай переключения подразумевает строгую проверку на равенство ..
//code 1
switch(0)
{
case false: alert('NOT strict');
break;
case 0: alert('strict'); // shows up as expected
}
.. тогда почему результат второго из них говорит об обратном? ..происходит ли преобразование типов или что-то в этом роде?
// code 2
switch(0)
{
case 0: alert('may or may not be strict'); // I just added this case.. does it have an effect.. why?
case false: alert('NOT strict'); // this shows up!..
break;
case 0: alert('strict'); // ..instead of this!
}
примечание 1: Мой вопрос здесь не в том, происходит ли строгая проверка на равенство или нет ... Я уже посмотрел ответ на этот вопрос здесь.Мой вопрос ... почему это противоречие между двумя результатами?Разве код 2 не должен давать нам «строгий» вместо «НЕ строгий»?