27、TypeScript 泛型类型的使用与高级特性

TypeScript 泛型类型的使用与高级特性

1. 泛型接口的实现

当一个类实现泛型接口时,必须实现接口的所有属性和方法,不过在处理类型参数方面有多种选择。

1.1 传递泛型类型参数

最简单的方法是在不改变类型参数的情况下实现接口的属性和方法,创建一个直接实现接口的泛型类。示例代码如下:

import { City, Person, Product, Employee } from "./dataTypes";
type  shapeType = { name: string };
interface Collection<T extends shapeType> {
    add(...newItems: T[]): void;
    get(name: string): T;
    count: number;
}
class ArrayCollection<DataType extends shapeType> implements Collection<DataType> {
    private items: DataType[] = [];
    add(...newItems): void {
        this.items.push(...newItems);
    }
    get(name: string): DataType {
        return this.items.find(item => item.name === name);
    }
    get count(): numbe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值