Патерни проєктування · Junior · Запитання 55 з 75
Як спростити довгий switch, що зіставляє статус із підписом?
const labels = { draft: 'Draft', published: 'Published', archived: 'Archived' };
const label = labels[status];- ✓Правильна відповідь: Замінити його об'єктом-таблицею (або поліморфізмом, коли поведінка різниться)
- 2Обгорнути в
try/catch - 3Розбити на кілька операторів
if
Пояснення
Зіставлення через дані коротше й легше розширюється. Якщо кожен випадок має свою поведінку, краще пасують об'єкти зі спільним методом (поліморфізм).