typescript-泛型

2019-05-07  本文已影响0人  芗芗_

泛型

泛型,字面上看就是宽泛的类型约束。是指在定义函数、接口或类的时,不指定类型,在使用时指定类型(runtime)

定义数组有两种方法:

let arr1 : number[] = ['123']
let arr2 : Array<number> = ['123']

使返回值的类型与传入参数的类型是相同,我们使用了[类型变量],它是一种特殊的变量,只用于表示类型而不是值,它不同于使用 any,它不会丢失信息.它保持了数据的准确性,使得传入数值类型和返回的数值类型相同.

泛型函数的类型与非泛型函数的类型没什么不同,只是有一个类型参数在最前面,像函数声明一样:

// 单个类型变量
function identity<T>(arg: T): T {
    return arg;
}

let myIdentity: <T>(arg: T) => T = identity;

// 多个类型变量
function info<S, N>(name: S, age: N): { name:S, age:N } {
    return { name, age };
}
console.log(info('pr', 18));  // {name: "pr", age: 18}


上一篇下一篇

猜你喜欢

热点阅读