TypeScript · Senior · Запитання 24 з 75
Чому шаблонний тип ` ${A}-${B}-${C} ` із трьох великих union може спричинити помилку?
- ✓Правильна відповідь: Виходить завеликий union, а в компілятора є ліміт
- 2Шаблонні типи не підтримують більше двох підстановок
- 3Union-типи взагалі не можна підставляти в шаблонні літерали
Пояснення
Шаблон з union розподіляється по всіх комбінаціях: 100 × 100 × 100 = 1 000 000 членів. TypeScript обмежує розмір union (близько 100 000) і видає помилку «Expression produces a union type that is too complex». Рішення - загальніший тип (` ${string}-${string} `) або валідація функцією.