作者回复: 对于这个语法: `` x extends any = string ``` 来说,它的意思是x的类型约束是any,而缺省时(不传入参数时)是string。如果不写extends any,那么x默认的约束就是any。 例如: ``` // 注意B中的`= string`是缺省 type T<A extends string, B extends any = string> = [A, B]; // T1 将是 ['abc', 1] // 在类型检查时:因为'abc',是string的子类型,可以能传入A;1可以赋给any类型,所以能传入B type T1 = T<'abc', 1>; // T2 将是 [string, string] // 在类型检查时:A传入了string;B没有传入,所以缺省是string type T2 = T<string>; ```