Чтобы определить функцию TypeScript с параметром в качестве типа объединения, вы можете использовать оператор канала (|), чтобы указать несколько возможных типов для параметра. Вот несколько примеров:
-
Простой тип объединения:
function printId(id: string | number) { console.log(id); } printId("abc"); // Output: abc printId(123); // Output: 123 -
Тип объединения с конкретными значениями:
function printStatus(status: "success" | "error" | "loading") { console.log(status); } printStatus("success"); // Output: success printStatus("error"); // Output: error printStatus("loading"); // Output: loading -
Тип объединения с фигурами объектов:
type Circle = { type: "circle"; radius: number }; type Rectangle = { type: "rectangle"; width: number; height: number }; function printShape(shape: Circle | Rectangle) { console.log(shape); } printShape({ type: "circle", radius: 5 }); // Output: { type: "circle", radius: 5 } printShape({ type: "rectangle", width: 10, height: 15 }); // Output: { type: "rectangle", width: 10, height: 15 } -
Тип объединения с дополнительными свойствами:
type Person = { name: string; age?: number }; function printPerson(person: Person) { console.log(person); } printPerson({ name: "John" }); // Output: { name: "John" } printPerson({ name: "Jane", age: 25 }); // Output: { name: "Jane", age: 25 }
Это всего лишь несколько примеров того, как можно использовать типы объединения в качестве параметров функции в TypeScript. Помните, что типы объединения позволяют указать несколько возможных типов параметра, и функция может обрабатывать каждый тип соответствующим образом.