Почему typeof null плохо себя ведет в операторах switch? - PullRequest
3 голосов
/ 02 июня 2010

Общеизвестно, что

typeof null

возвращает «объект».

Однако у меня есть фрагмент кода, который выглядит следующим образом:

* +1007 *

Этот код возвращает 3.

Почему «объект», возвращаемый typeof null, не вызывает выполнение первой ветви оператора case?

1 Ответ

9 голосов
/ 02 июня 2010

Вы пропускаете break для первого случая - поэтому он падает до случая default и возвращает 3.

switch(typeof null){
    case "object": 
        1; 
        break;
    default: 
        3;
}
...