打字稿选择性拣选具有“重命名安全性”

时间:2019-01-22 13:02:05

标签: typescript

我目前有运行良好的这段代码:

export interface IReq {
    timestamp: number;
};

export interface ITrack extends IReq {
    id: number;
};

const track: Pick<ITrack, 'id'> = {
    id: 1
}

如果ITrack界面的id字段被重命名,我们会从tsc收到编译器错误,这很好,但是我也想修改'id'本身

打字稿有什么办法可以检测到这种变化?

1 个答案:

答案 0 :(得分:0)

我想做的重点是将ITrack与IReq分离,这可以通过简单的交集类型完成:

type TTrackReq = IReq & ITrack

这样做,我们不再需要从IReq扩展而仅使用ITrack的属性,非常有趣