Для вывода содержимого "боди" в зависимости от типа, в TypeScript можно использовать условные операторы и возможности языка для работы с типами. Есть несколько способов, которые можно применить, в зависимости от специфики задачи.
1. С использованием условных операторов
Один из простых способов выполнить это - использовать условные операторы, такие как if-else или switch, для проверки типа и соответствующего вывода содержимого "боди". Например:
function displayBody(body: string | number | boolean) { if (typeof body === 'string') { console.log(`String body: ${body}`); } else if (typeof body === 'number') { console.log(`Number body: ${body}`); } else if (typeof body === 'boolean') { console.log(`Boolean body: ${body}`); } else { console.log('Unsupported body type'); } } const bodyString: string = 'Hello, World!'; const bodyNumber: number = 42; const bodyBoolean: boolean = true; displayBody(bodyString); // Output: String body: Hello, World! displayBody(bodyNumber); // Output: Number body: 42 displayBody(bodyBoolean); // Output: Boolean body: true
2. Использование паттерна "проверка типа" (Type Guards)
TypeScript позволяет использовать паттерн "проверка типа" (Type Guards), с помощью которого можно уточнить тип переменной во время выполнения и выполнить соответствующие операции. Например:
function displayBody(body: string | number | boolean) { if (typeof body === 'string') { displayStringBody(body); } else if (typeof body === 'number') { displayNumberBody(body); } else if (typeof body === 'boolean') { displayBooleanBody(body); } else { console.log('Unsupported body type'); } } function displayStringBody(body: string) { console.log(`String body: ${body}`); } function displayNumberBody(body: number) { console.log(`Number body: ${body}`); } function displayBooleanBody(body: boolean) { console.log(`Boolean body: ${body}`); } const bodyString: string = 'Hello, World!'; const bodyNumber: number = 42; const bodyBoolean: boolean = true; displayBody(bodyString); // Output: String body: Hello, World! displayBody(bodyNumber); // Output: Number body: 42 displayBody(bodyBoolean); // Output: Boolean body: true
3. Использование интринсических функций TypeScript для проверки типа
TypeScript предоставляет несколько интринсических функций, которые можно использовать для проверки типа во время выполнения, такие как instanceof
, Array.isArray
, typeof
, Object.prototype.toString
и другие. Например:
function displayBody(body: string | number | boolean) { if (typeof body === 'string') { console.log(`String body: ${body}`); } else if (typeof body === 'number') { console.log(`Number body: ${body}`); } else if (typeof body === 'boolean') { console.log(`Boolean body: ${body}`); } else { console.log('Unsupported body type'); } } const bodyString: string = 'Hello, World!'; const bodyNumber: number = 42; const bodyBoolean: boolean = true; displayBody(bodyString); // Output: String body: Hello, World! displayBody(bodyNumber); // Output: Number body: 42 displayBody(bodyBoolean); // Output: Boolean body: true
Все вышеперечисленные способы могут быть использованы для вывода содержимого "боди" в зависимости от типа. Выбор конкретного способа зависит от требований и контекста вашего проекта.