在Typescript中,条件类型是一种类型操作符,用于根据一个或多个类型关系判断返回不同的类型。条件类型通常使用extends
关键字来定义,并且通常与infer
关键字一起使用,以从条件类型中提取类型信息。
例如,下面是一个简单的示例,展示了如何使用条件类型来定义一个根据输入类型是否为数组返回不同类型的函数:
type IsArray<T> = T extends any[] ? true : false;
function isArray<T>(value: T): IsArray<T> {
return Array.isArray(value) as IsArray<T>;
}
console.log(isArray([])); // true
console.log(isArray(123)); // false
在这个例子中,IsArray<T>
是一个条件类型,根据T
是否为数组来返回不同的类型。isArray
函数使用了这个条件类型来判断输入值的类型,并返回相应的布尔值。