лучше if или switch и главное почему?
блондинки или брюнетки, а, главное, почему?
Давай контекст )
Например пачка редьюсеров в Реакте или выбор размера порции в зависимости от диеты в Ангуляре, не суть, есть например 5 условий можно реализовать это через else if или через switch, как правильнее поступить
Где кейсов больше 2х - лучше свитч
Почему?
в зависимости от ситуации
Я не знаю ответа swtich vs if, но у меня есть полезный кусок инфы по поводу switch: Если в коде есть несколько конструкций вида switch (actionType) …. То если тебе нужно будет добавить новый action, придется изменить все switch, Иногда этих switch много Для этого стараются избегать switch, и решать архитектурно задачу иначе Сам правил приложение, которое состояло из мелких switch, которые меняли цвет компонента в зависимости от стиля. Во всех гребанных компонентах был switch. Добавить/изменить стиль - изволь править десятки файлов
кажется все таки не в switch проблема была
можно было и через if, но у меня конкретно был switch
Тут я тоже так думаю
На самом деле на switch и раньше (грубо говоря до массового ООП) программисты набивали шишки. Именно поэтому ООП "выстрелило" — ты писал метод, а если делал новый класс-наследник, то тебе компилятор ругался, если какие-то методы не были определены. Однако, если в языке гарантируется полнота перебора этих кейсов, то мы получаем такое же удобство — компилятор ткнёт носом во все места, где в switch не добавлен новый case, но он требуется. Конкретно в TypeScript этого можно добиться через конструкцию assertNever (гуглится по этому названию)
Обсуждают сегодня