在TypeScript中,泛型类型(T)和any之间有哪些区别?

21 浏览
0 Comments

在TypeScript中,泛型类型(T)和any之间有哪些区别?

泛型类型(T)与any在Typescript中的区别是什么?

函数1

function identity(arg: any): any {
    return arg;
}

函数2

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

函数3

function identity(arg: T[]): T[] {
    return arg;
}


如果我们传递任何一种数据类型,函数1和函数3都会被接受,但如果我们传递一个数组,函数2将不被接受。泛型类型在编译时接受所有类型的数据,但为什么它在这里不接受呢?

此外,哪个函数对性能更好(函数1还是函数3)?

0