ts重难点泛型总结

我就是我 2023-01-05 12:46 228阅读 0赞

1.泛型 generics 定义返回任意类型的函数

  1. function echo<T>(arg: T): T {
  2. return arg
  3. }
  4. const res = echo(true)
  5. function swap<T, U>(tuple:[T, U]): [U, T] {
  6. return [tuple[1], tuple[0]]
  7. }
  8. const result2 = swap(['string', 123])
  9. // result2[1].会弹出提示可以调用这里面的方法

2.约束泛型

  1. // 约束泛型
  2. function echoWithArr<T>(arg: T[]): T[] {
  3. console.log(arg.length)
  4. return arg
  5. }
  6. const arrs = echoWithArr([1,2,43])

3.入参必须包含某种属性 例如下面代码中属性length

  1. interface IWithLength{
  2. length:number
  3. }
  4. function echoWithLength<T extends IWithLength>(arg: T): T {
  5. console.log(arg.length)
  6. return arg
  7. }
  8. const strn = echoWithLength('str')
  9. const obj = echoWithLength({ length: 10, width:'afdfa'})
  10. const arr2 = echoWithLength([1,23,4])

4.创建一个泛型 入参可以是各种类型 随意搭配

  1. // 创建一个泛型
  2. interface keyPair<T, U> {
  3. name: T,
  4. value: U
  5. }
  6. let key1: keyPair<string, number> = { name:'du', value:234}
  7. let key2: keyPair<string, string> = { name:'sfdf', value: 'fafds'}
  8. let seeTwo: keyPair<number[], Array<string>> = { name: [1,2,2,3,], value:['wrwer','werwe','rewr']}

// 数组中装的是number类型的话 有两种写法: Array 和number[] 都可

发表评论

表情:
评论列表 (有 0 条评论,228人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java编程理解难点解析

    Java泛型编程是一种在编译时提供类型安全检查的机制,它允许开发者在编写代码时指定数据类型,从而避免在运行时出现类型转换错误。泛型编程的主要目的是提高代码的复用性和安全性。以下

    相关 TS

    TS泛型 泛型可以创建可重用的组件,一个组件可以支持多种类型,解决类,接口,方法的复用性,以及对不确定数据类型的使用 class MinCla<T>{

    相关 ts

    泛型 `在定义函数、接口或者类的时候、不需要先指定具体类型、而在用的时候再指定类型的一种特性。` 其实就是把类也当作变量(类是可变的,未知的)使用,把类放在<>尖括号

    相关 Java 总结

    如需转载,请注明原地址,谢谢 什么是泛型 泛型实现了参数化类型的概念,主要目的是希望类或方法能够就最广泛的表达能力 泛型的优点和局限性 优点:1

    相关 总结

    泛型 参与了孤尽大大的DIY班,这一期的主题时泛型,之前没有深入研究过泛型,于是有了此篇的总结。 1.简单的泛型类和接口 public class Gen

    相关 TS学习笔记(五):

    泛型是指定一个表示类型的变量,用它来代替某个实际的类型用于编程,而后通过实际调用时传入或推导的类型来对其进行替换,以达到一段使用泛型程序可以实际适应不同类型的目的。为了实现泛型