Я хочу использовать деструктуризацию для нескольких типов с общими свойствами и значением по умолчанию для других.
interface Software {
id: number;
name: string;
}
interface VersionedSoftware extends SoftwareShape {
version: string;
}
Я пробовал оба следующих решения.
function post1({ id, version = '' }: Software | VersionedSoftware) {
// ...
}
function post2({ id, ...versioned }: Software | VersionedSoftware) {
const { version = '' } = versioned;
// ...
}
Но получил ошибку
Свойство «версия» не существует для типа «Программное обеспечение |VersionedSoftware '.
Я ожидаю, что он будет работать, так как я определил значение по умолчанию для свойства версии
Существует ли какой-либо синтаксис, разрешающий такое использование?