Общеизвестно, что
typeof null
возвращает «объект».
Однако у меня есть фрагмент кода, который выглядит следующим образом:
Этот код возвращает 3.
Почему «объект», возвращаемый typeof null, не вызывает выполнение первой ветви оператора case?
Вы пропускаете break для первого случая - поэтому он падает до случая default и возвращает 3.
break
default
switch(typeof null){ case "object": 1; break; default: 3; }