欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TypeScript 泛型

程序员文章站 2022-07-03 16:59:30
...

泛型函数

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'.