TypeScript · Middle · Запитання 47 з 75
Коли TS розширює літеральний тип до загального (widening)?
- ✓Правильна відповідь: У змінних позиціях:
let, властивості об'єктів - 2Ніколи: літеральні типи завжди зберігаються як є
- 3Лише за ввімкненого прапорця
noImplicitAnyу tsconfig
Пояснення
const a = 'x' → 'x', але let b = 'x' → string, і { dir: 'left' } → { dir: string }. Через це об'єкт не можна передати у функцію, що очікує 'left' | 'right'. Рішення: as const, анотація або satisfies.