Патерни проєктування · Senior · Запитання 15 з 75
Що таке «проблема виразу» (expression problem) і як вона проявляється в TS?
- ✓Правильна відповідь: Union легко розширювати операціями, класи - новими типами
- 2TypeScript не може вивести типи складних виразів
- 3Вирази в JSX не можна типізувати без
as
Пояснення
З дискримінованим union додати нову функцію-обробник просто, а новий варіант потребує правки всіх switch. В ООП із класами додати новий тип просто, а нову операцію - дорого (розв'язується Відвідувачем). Вибір залежить від того, що змінюватиметься частіше.