Ответ
В TypeScript типы параметров указываются непосредственно в сигнатуре функции или метода.
Базовый синтаксис:
function greetUser(name: string): void {
console.log(`Hello, ${name}!`);
}
const logMessage = (message: string, priority: number): void => {
console.log(`[${priority}] ${message}`);
};
Union Types для нескольких допустимых типов:
function formatInput(input: string | number): string {
return String(input).trim();
}
Использование интерфейсов и типов для объектов:
interface User {
id: number;
email: string;
isActive?: boolean; // Опциональное свойство
}
function createUser(userData: User): User {
return db.users.create(userData);
}
// Использование типа (Type Alias)
type FilterCallback = (item: any) => boolean;
function filterArray(arr: any[], callback: FilterCallback): any[] {
return arr.filter(callback);
}
Дженерики (Generics) для гибкости:
function getFirstElement<T>(arr: T[]): T | undefined {
return arr[0];
}
// Вызов: тип `T` выводится как `number`
const firstNum = getFirstElement([1, 2, 3]);
В классах:
class ApiService {
async fetchData<T>(url: string): Promise<T> {
const response = await fetch(url);
return response.json() as T;
}
}