TypeScript:接口、函数重载
// 定义一个接口,表示日志对象
interface LogItem {
timestamp: Date;
message: string;
}
// 定义一个函数,用于添加日志
function addLog(logItem: LogItem): void;
// 函数重载,用于添加日志数组
function addLog(logItems: LogItem[]): void;
// 实现函数
function addLog(arg: LogItem | LogItem[]): void {
if (Array.isArray(arg)) {
// 处理日志数组的代码
console.log('处理日志数组...');
} else {
// 处理单个日志的代码
console.log('处理单个日志...');
}
}
// 使用示例
addLog({ timestamp: new Date(), message: '单个日志' });
addLog([
{ timestamp: new Date(), message: '日志数组 1' },
{ timestamp: new Date(), message: '日志数组 2' }
]);
这个代码示例展示了如何在TypeScript中定义一个函数,并通过函数重载来支持传入不同类型的参数。函数addLog
根据传入参数的类型执行不同的处理逻辑。这是TypeScript中接口和函数重载使用的一个实例。
评论已关闭