泛型

  1. 应用场景:1、处理多种数据类型,2、当函数、接口或类在多个地方使用该数据类型时

  1. 分类:
    (1)泛型接口:
interface Identities<V,M> { value: V, message: M}

(2)泛型函数:

function Fn<V,M>(value: V, message: M): V {
                                              console.log(message);
                                              return value;
                            }

(3) 泛型类:


  1. 泛型约束:
  • 确保属性存在
  • 检查对象上的键是否存在
interface Length {
    length: number;
}
function identity<T extends Length>(arg: T): number {
       return T.length;
}
function getProperty<T, K extends keyof T>(obj: T, key: K) : T[k] {
      return obj[key];
}

约定俗成命名:
T(Type)、K(Key)、V(Value)、E(Element)

posted @ 2025-02-20 17:07  拉布拉多~  阅读(9)  评论(0)    收藏  举报