TS 箭头函数定义泛型的方式

定义泛型的方式

const foo = <T,>(value: T): T => value;

// using
const returnStr = foo<string>('foo')
const returnNum = foo<number>(1)

也可以约束泛型的类型

const foo = <T extends string>(value: T): T => value;

// ✅
const returnStr = foo<string>("foo");

// ❌ 类型“number”不满足约束“string”。
const returnNum = foo<number>(1); 

泛型:可以这么理解其实就是类型参数形参。

你可能感兴趣的:(typescript,typescript)