服务正在调用我们的 API。它可以使用以下类型的 JSON 主体来调用我们:
const missingProperty = {}
const value = { foo: "bar" }
它永远不会用这些机构来召唤我们:
const nullish = { foo: null }
const undefinedish = { foo: undefined }
有没有办法定义一个以这种方式工作的类型? 这是我尝试过的,但它允许所有可能性:
type Foo = {
foo?: string,
}
type Foo2 = {
foo: string | undefined,
}
这不允许空对象:
type Foo = {
foo: string | never,
}
const missing: Foo = {} // Unwanted error
const value: Foo = { foo: "bar" }
const nullish: Foo = { foo: null } // Wanted error
const undefinedish: Foo = { foo: undefined } // Wanted error
您正在寻找
exactOptionalPropertyTypes
选项。如果为真:
操场