TypeScript 泛型

泛型函数

function identify<T>(arg:T): T {
 return arg;
}

使用

let output = identify<string>("myString");
let op = identify("mystring");// 让编译器推断类型

数组

function logging<T>(arg:T[ ]) :T [ ]{
...
}

function loging2<T> (arg:Array<T>):Array<T> {
...
}

class GenericNUmber<T>{
 zearoV:T;
add:(x:T,y:T)=>T;
}

泛型约束

function copyFields<T extends U, U>(target: T, source: U): T {
    for (let id in source) {
        target[id] = source[id];
    }
    return target;
}

let x = { a: 1, b: 2, c: 3, d: 4 };

getProperty(x, "a"); // okay
getProperty(x, "m"); // error: Argument of type 'm' isn't assignable to 'a' | 'b' | 'c' | 'd'.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 泛型 软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同...
    Jack_Peng阅读 2,744评论 0 1
  • object 变量可指向任何类的实例,这让你能够创建可对任何数据类型进程处理的类。然而,这种方法存在几个严重的问题...
    CarlDonitz阅读 4,429评论 0 5
  • 有时候编程还要考虑它的复用性,很多时候不需要指定它的类型,或者同样的方法逻辑 但是入参和出差的类型不同。这个时候就...
    河的左岸阅读 1,215评论 0 1
  • 泛型: 泛型是一种类型的占位符,具体的类型将会在之后被填充。由于Swift的严格类型检验,这是很有用的。在不能或者...
    小松树先生阅读 3,982评论 0 3
  • 我一直不喜欢这座城的夜景。 三年前的这个时候,我来到这座城市。在CBD剧院门口等朋友的我,因为手机被盗,如同智障一...
    于川枫阅读 2,372评论 0 0