是否可以部分定义对象类型?
Is it possible to partially define an object type?
我有一些效果
function(param1, { knownParam1, ...opts })
我想输入它至少描述 param1 和 knownParam1。我在想:
type Param2 = {
knownParam1: string,
...otherParams: any
}
type Parameters = {
param1: string
param2: Param2
}
TypeScript 支持这种概念吗?我感觉不是,因为解构是一个新概念。
是的,您可以通过以下方式实现您的目标:
type Param2 = {
knownParam: string;
[key: string]: unknown;
}
function myFn(param1: string, param2: Param2) {
const {
knownParam,
...opts
} = param2;
// ...
}
参数二的类型是一个对象,其任何已知属性与任何其他未知类型的属性相交。
我有一些效果
function(param1, { knownParam1, ...opts })
我想输入它至少描述 param1 和 knownParam1。我在想:
type Param2 = {
knownParam1: string,
...otherParams: any
}
type Parameters = {
param1: string
param2: Param2
}
TypeScript 支持这种概念吗?我感觉不是,因为解构是一个新概念。
是的,您可以通过以下方式实现您的目标:
type Param2 = {
knownParam: string;
[key: string]: unknown;
}
function myFn(param1: string, param2: Param2) {
const {
knownParam,
...opts
} = param2;
// ...
}
参数二的类型是一个对象,其任何已知属性与任何其他未知类型的属性相交。