interface IFoo { someField: number; }
interface IExtFoo extends IFoo { newField: number; }
function extend(target: IFoo): IExtFoo {
target['newField'] = 0;
return target;
}
Разумеется скомпилированный код отработает корректно, но компилятор ругается Type 'IFoo' is not assignable to type 'IExtFoo'. Property 'newField' is missing in type 'IFoo'.
Есть ли более красивое решение чем return target as IExtFoo?
У таргета тип без этого свойства, потому и ругается
Обсуждают сегодня