при условии
localStorage.language = 'english';
localStorage.theme = 'dark';
и
switch(true) {
case 'language' in localStorage:
console.log('язык есть');
case 'theme' in localStorage:
console.log('тема есть');
case !'theme' in localStorage:
console.log('темы нет. загрузка дефолтной темы');
}
в консоли я вижу все 3 записи. Хотя если явно в консоль передать
!'theme' in localStorage
, то он вернёт false.
Да я знаю, что я могу сделать во втором условии break, но и у меня не 3 проверки, а значительно больше. И там не получится делать break.
Я, конечно, предполагаю, что дело в
!'theme' in localStorage:
, который является ну ту секунду
'language'
, но тогда это больше похоже на баг, чем на фичу...