TypeScript · Senior · Запитання 54 з 75
Як типобезпечний builder накопичує інформацію у своєму типі?
class Query<T extends object = {}> {
where<K extends string, V>(k: K, v: V): Query<T & Record<K, V>> { /* ... */ }
}- ✓Правильна відповідь: Кожен метод повертає builder з новим параметром типу, що розширює попередній
- 2Він мутує глобальний тип
- 3Він використовує
anyі приводить тип наприкінці
Пояснення
Фінальний .build() може повернути точний тип, а неприпустимий порядок викликів можна заборонити.