У меня есть что-то вроде
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;
// ...
}
Тип параметра два - это объект, любые известные свойства которого пересекаются с любыми другими свойствами неизвестного типа.
Это цель машинописного текста. Это невозможно сделать в javascript, если вы сами не проверите.