Вот пример того, что я имел в виду
switch(fruits) {
case fruits = "Banana":
text = "Banana is good!";
break;
case fruits = "Orange":
text = "I am not a fan of orange.";
break;
case fruits = "Apple":
text = "How you like them apples?";
break;
default:
text = "I have never heard of that fruit...";
}
Обратите внимание, что синтаксис регистра не соответствует официальному руководству
И в VSCode не выдается никакого предупреждения
Странная вещь, и я надеюсь, что кто-то сможет мне ответить: Почему этот код по-прежнему работает во всех браузерах, кроме Safari? И есть еще одна интересная вещь, которая происходит в Safari, как вы можете увидеть ниже
Вот как это работает в Chrome

Вот как это работает в Safari

А вот странная часть, если я включу Safari Web Inspector , он работает, но выключает его и перестает работать

Так в чем причина этого?
А вот JSFiddle для тех, кто хочет увидеть код в действии самостоятельно. Спасибо, w3 Schools за образец кода
EDIT:
Мне известно, что правильный код следующий, поэтому повторю вопрос: почему приведенный выше код работает во всех браузерах, кроме Safari, хотя технически он вообще не должен работать
switch(fruits) {
case "Banana":
text = "Banana is good!";
break;
case "Orange":
text = "I am not a fan of orange.";
break;
case "Apple":
text = "How you like them apples?";
break;
default:
text = "I have never heard of that fruit...";
}