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».
Вывод
Здесь появится то, что напечатает программа.