美文网首页
泛型函数

泛型函数

作者: 我的袜子都是洞 | 来源:发表于2023-02-08 19:53 被阅读0次

泛型函数

泛型基本场景

输出类型与输入类型有关,或者两个类型以某种方式相关联。

// function firstElement(arr: any[]) {
//  return arr[0]
// }

function firstElement<Type>(arr: Type[]): Type | undefined {
    return arr[0]
}

泛型参数的限制条件

// 函数:返回两个值较长的那个
function longest<Type extends { length: number } > (a: Type, b: Type) { // a、b 必须存在 length 属性
    return a.length > b.length ? a : b
}

使用受限值,执行类型参数

const arr = combine<string | number>([1, 2, 3], ["hello"])

编写优秀的通用函数准则

  1. 可能情况下,使用类型参数本身,而不是对其进行约束
  2. 总是尽可能减少使用类型参数
  3. 如果一个类型的参数只出现在一个地方,请重新考虑你是否真的需要它

相关文章

  • Swift:泛型

    泛型 泛型函数泛型函数和非泛型函数的不同之处在于:泛型函数名(swapTwoValues(::))后面跟着 占位类...

  • V语言学习笔记-14泛型

    目前的泛型主要有这三种:泛型结构体,泛型函数,泛型方法 泛型结构体 泛型函数 判断2个数组是否相等的泛型函数 泛型方法

  • Swift 泛型

    泛型函数 泛型类型 泛型约束

  • TypeScript 学习笔记 之 泛型

    泛型函数 TS 泛型函数示例: 上面的函数调用时:1)显式指定类型: identify ("myString") ...

  • TypeScript 泛型

    泛型函数 使用 数组 类 泛型约束

  • swift泛型整理

    swift泛型知识主要包括:泛型函数、泛型协议、泛型类型、泛型约束。 一、泛型函数。 如:一个交换两个变量值的函数...

  • R语言入门--第十八节(S3&处理大数据基建议)

    泛型函数- S3方法 泛型函数的应用结果根据R的对象的类的不同而有一定的差异,常见的泛型函数有print()、pl...

  • Swift 泛型与重载

    编译器在编译泛型函数时,会根据实参类型,以泛型函数为模板,合成对应的函数。如果泛型函数有重载版本,编译器会以最接近...

  • 泛型函数

    泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解...

  • 泛型函数

    泛型函数 泛型基本场景 输出类型与输入类型有关,或者两个类型以某种方式相关联。 泛型参数的限制条件 使用受限值,执...

网友评论

      本文标题:泛型函数

      本文链接:https://www.haomeiwen.com/subject/ggmgfdtx.html