泛型

2022-08-01  本文已影响0人  回不去的那些时光

泛型的好处

// 好处一: 不指定类型,传入什么类型就是什么类型
function echo<T>(arg: T): T {
    return arg;
}
const str: string = "abc";
const result = echo(str);

// 可以传入多个值
function swap<T, U>(tuple: [T, U]): [U, T] {
    return [tuple[1], tuple[0]];
}
const result2 = swap(['abc', 123]);

在泛型定义时使用变量的属性 length

在定义泛型时,由于不知道泛型到底是什么类型的,所以在定义时是无法使用变量的属性的

function identityStr<T>(str: T[]): T[] {
    console.log(str, str.length);
    return str;
}
interface withLength {
    length: number;
}

function identityStr<T extends withLength>(str: T): T {
    console.log(str, str.length);
    return str;
}
上一篇 下一篇

猜你喜欢

热点阅读