У меня есть класс и интерфейс с одинаковыми именами. Например, см. Код ниже:
export interface option {
name: string;
tip: string;
}
export class option {
constructor() {
};
someMethod(){};
}
Сначала я хочу создать вручную параметр.
export const test:option =
{
name:"hello",
tip:"hi",
}
Но я получаю Property 'someMethod' is missing in type '{ name: string; tip: string; }' but required in type 'option'
В данном конкретном случае я не хочу добавить метод, потому что позже в разработке он будет проанализирован JSON. Я планирую создать new option()
и использовать Object.assign()
для объединения данных и методов.
Существует ли явный способ сообщить компилятору, что я хочу использовать определение интерфейса option
, а не определение класса в этом случае? Конечно, я хотел бы сохранить проверку TS для export const test:option...