В недавнем разговоре с младшими разработчиками JavaScript я упомянул следующую технику вырубки трудоемким, если/иначе блоки, где OR операнд используется:Является ли это неправильным шаблоном регулярного выражения?
if (/^(cat|dog|horse)$/.test(animal)) { ... }
вместо
if (animal == 'cat' || animal == 'dog' || animal == 'horse') { ... }
я никогда была проблема с этим, но один человек предположил, что это плохая модель дизайна, не уточняя почему.
Я думаю, что регулярное выражение в этом случае совершенно очевидно, а не как регулярное выражение, которое предлагается в большинстве вопросов в теге regex на SO. – nhahtdh
Я не знаю, является ли JS против этого, но на других языках я бы создал сборку inline и посмотрел, есть ли там значение. –
Не думаю, что я зашел так далеко, чтобы назвать этот «шаблон дизайна». –