рассмотрите эту настройку:
interface A { x: string }
interface B { y: string }
type AB = A & B
class Merger<T extends AB> {
merge(a: A): void {
const
b: B = { y: 'hello' },
ab: T = { ...a, ...b } //compile error see below
;
}
}
Здесь ошибка:
Type '{ y: string; x: string; }' is not assignable to type 'T'.
'{ y: string; x: string; }' is assignable to the constraint of type 'T',
but 'T' could be instantiated with a diff
Если я все правильно понимаю, значит ли это, что AB
может иметь больше свойств? В основном я хочу добавить некоторые фиксированные свойства к A
, например отметку времени. Как я мог обойти эту ошибку