TypeScript 泛型

泛型函数

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

使用

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

数组

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

function loging2 (arg:Array):Array {
...
}

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

泛型约束

function copyFields(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'.

你可能感兴趣的:(TypeScript 泛型)