TypeScript · Middle · Запитання 19 з 75

Що таке функція-твердження (assertion function)?

function assertIsString(x: unknown): asserts x is string {
  if (typeof x !== 'string') throw new Error('Not a string');
}

Пояснення

Після assertIsString(value) далі в коді value - string, без if. Якщо перевірка не пройшла, функція кидає виняток. На відміну від type guard (x is T), результат не треба обгортати в умову.

Де почитати

Помилка в запитанні

TypeScript · Middle · запитання 19

Перевірте себе

Пройдіть тест TypeScript · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест