Typescript 中 Partial 的不同实现?

Different implementations of Partial in Typescript?

我正在尝试按照 Fast-dna repo 的示例使用 Partial of typescript,我注意到在我的回购协议中我有 Partial

的不同实现

对他们来说Partial被定义为

对我来说它是

我看到的唯一区别是他们使用的是 babel 而我没有。 是这个原因吗?

但我还是不明白怎么会有两种不同的实现方式?

我正在使用 Create react app with typescript 模板。

Partial 没有两种不同的实现,只有一种,区别在于打字稿设置。

当你打开 strictNullChecks 时,typescript 会自动将 | undefined 添加到可选属性的类型中(与 undefined 合并)。这是有道理的,因为在严格的空检查下,ts 将 undefinednull 作为单独的类型进行跟踪,并且可选属性始终可以是 undefined。如果关闭此选项,则不会单独跟踪 undefined,也不会添加此选项。

你也可以在操场上看到这个:

strictNullChecks:

没有null checks: