打字稿:声明合并声明变量为接口

时间:2020-05-03 20:47:42

标签: typescript

我有一个同名的类和接口。例如,请参见下面的代码:

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...

0 个答案:

没有答案