<T = string> 和 <T> 有什么区别?

const makeArr = <T = string>(a: T, b: T): T[] => {
  return [a, b]
}

console.log(makeArr(1, 3))

const makeArr = <T>(a: T, b: T): T[] => {
  return [a, b]
}

console.log(makeArr(1, 3))

请问这2种写法有什么区别?我VSCode运行都是可以运行的。

阅读 1.7k
1 个回答
  • <T> 是基本的泛型声明,表示在调用时必须提供一个类型参数。
  • <T = string> 则是在 <T> 的基础上增加了类型参数的默认值,即如果在调用时没有提供类型参数,则使用默认值 string。
推荐问题
logo
Microsoft
子站问答
访问
宣传栏