简单粗暴来说就是 函数预期的返回值类型 和 传入的某一个参数类型一致 。
比如说我有一个函数,传入一个对象数组,返回值是这个对象数组中的某一项符合条件的结果。
// 定义泛型函数
function findItem(items: T[], predicate: (item: T) => boolean): T | undefined {
return items.find(predicate);
}
// 示例对象类型
interface Person {
name: string;
age: number;
}
// 示例对象数组
const people: Person[] = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 35 }
];
// 使用示例
const result = findItem(people, person => person.age > 30);
console.log(result); // 输出: { name: 'Charlie', age: 35 }
***
不过我TS用的并不多基本上就是一开始学了一些概念,后面实际业务中几乎就是运用不到的。
很多实际应用上面的理解都是借助 "type-challenges" (https://link.segmentfault.com/?enc=%2FPI2%2FAz5F2D4RBtr%2ForsKQ%3D%3D.eM2LEh9a93UiI3SPyhqj4CXi47pN9MpzbXB9s76gxAlO9xd8WUI3p0cfBuiGwaiRVJTmM7QjKcA%2Bk4DcsjaWZDQRwx3eQjhwrjrcs9NphQg%3D)
这个库中的题目。