Typescript 带有“重命名安全性”的打字脚本选择性拾取

Typescript 带有“重命名安全性”的打字脚本选择性拾取,typescript,Typescript,我目前有以下代码,运行良好: export interface IReq { timestamp: number; }; export interface ITrack extends IReq { id: number; }; const track: Pick<ITrack, 'id'> = { id: 1 } 如果ITrack接口的id字段被重命名,我们会从tsc得到一个编译器错误,这很好,但我希望“id”本身也被修改 typescript有没有办

我目前有以下代码,运行良好:

export interface IReq {
    timestamp: number;
};

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

const track: Pick<ITrack, 'id'> = {
    id: 1
}
如果ITrack接口的id字段被重命名,我们会从tsc得到一个编译器错误,这很好,但我希望“id”本身也被修改


typescript有没有办法检测到这种变化?

我试图做的全部工作就是将ITrack与IReq分离,这可以通过一个简单的交叉点类型来实现:

type TTrackReq = IReq & ITrack

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

不要认为这是可能的答案@TitianCernicova Dragomir@TitianCernicova你知道有什么方法可以强制只填充子界面的一些字段,而不以重命名安全的方式使用Pick吗?你可以使用Partial使所有字段都可选,但如果重命名字段,则不会完全重命名安全的事件,据我所知,对象文字不会重新命名