TypeScript · Middle · Запитання 19 з 75
Що таке функція-твердження (assertion function)?
function assertIsString(x: unknown): asserts x is string {
if (typeof x !== 'string') throw new Error('Not a string');
}- ✓Правильна відповідь: Функція, після успішного виклику якої TS вважає тип аргументу звуженим
- 2Функція, що повертає
trueабоfalseдля перевірки типу - 3Функція, що працює лише в тестах
Пояснення
Після assertIsString(value) далі в коді value - string, без if. Якщо перевірка не пройшла, функція кидає виняток. На відміну від type guard (x is T), результат не треба обгортати в умову.