TypeScript学习笔记6

  • Post author:
  • Post category:其他


泛型

当需要一种方法返回值的类型和传入参数的类型相同时。可以使用类型变量(是一种特殊的变量。只用于表示类型而不是值)

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

使用:

let output = identity<string>("myString"); //明确指定参数类型
let output = identity("myString"); //利用类型推论

泛型类型

泛型函数的类型与非泛型函数的类型区别:一个类型参数在最前面,像函数声明一样

function identity<T>(arg: T): T {
    return arg;
}
​
let myIdentity: <T>(arg: T) => T = identity;
//泛型参数名可不同
let myIdentity: <U>(arg: U) => U = identity;

带有调用签名的对象字面量定义泛型函数

function identity<T>(arg: T): T {
    return arg;
}
​
let myIdentity: {<T>(arg: T): T} = identity;


function identity<T>(arg: T): T {
    return arg;
}
​
let myIdentity: {<T>(arg: T): T} = identity;

泛型接口:

interface GenericIdentityFn {
    <T>(arg: T): T;
}
function identity<T>(arg: T): T {
    return arg;
}
let myIdentity: GenericIdentityFn = identity;



版权声明:本文为qq_37609418原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。