TypeScriptУрок 6 из 16

Псевдонимы типов и объединения

Ключевое слово type даёт имя любому типу, а знак | собирает несколько типов в объединение. Значение такого типа может быть любым из вариантов.

Главное

  • type ID = number | string — значение может быть числом или строкой.
  • До проверки доступны только операции, общие для всех вариантов.
  • После typeof id === "string" TypeScript знает, что внутри if — строка.
  • Объекты описывают и type, и interface, а объединения умеет только type.

Пример

type ID = number | string;type Point = { x: number; y: number }; function showId(id: ID): string {  if (typeof id === "string") {    return `ID ${id.toUpperCase()}`; // here id is a string  }  return `ID #${id}`; // and here it is a number} const start: Point = { x: 0, y: 0 }; console.log(showId(42));console.log(showId("ab-7"));console.log(`Start: ${start.x},${start.y}`);

Внутри if у id есть toUpperCase, потому что там это точно строка. После return остаётся только число. Point — обычный объектный тип под своим именем.

Задание

Как пользоваться редактором⌘ Enter или Ctrl Enter — запустить код, ⇧ ⌘ Enter — проверить задание.Tab и Shift Tab сдвигают строку или выделение; Esc, затем Tab — выйти из редактора.Проверка сравнивает то, что напечатала программа, с заданием; пробелы в конце строк не важны.После двух неудачных проверок можно открыть решение. Ваш код сохраняется в этом браузере.

Разрешите типу Price быть числом или строкой, переводите строки через parseFloat, добавьте "12.50" в массив и выведите «499, 1250, 300» и «Sum: 2049».

Вывод

Здесь появится то, что напечатает программа.