TypeScript · Junior · Запитання 44 з 75

Що таке union зі спільним полем-дискримінатором?

type Shape =
  | { kind: 'circle'; radius: number }
  | { kind: 'square'; size: number };

Пояснення

Перевірка if (shape.kind === 'circle') звужує тип, і всередині доступний shape.radius. Це основний спосіб моделювати стани: { status: 'loading' } | { status: 'success'; data } | { status: 'error'; error }.

Де почитати

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

TypeScript · Junior · запитання 44

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

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

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