【发布时间】:2021-03-15 14:12:16
【问题描述】:
export declare const TerminalWidgetOptions; unique synbol;
export interface TerminalWidgetOptions {
endpoint: Endpoint.Options,
id: string,
caption: string,
label: string
destroyTermOnClose: boolean
}
当我创建一个实现这个接口的类时,使用这段代码,我得到一个错误: 错误 TS2507:类型“唯一符号”不是构造函数类型。
我不明白为什么 TypeScript 看不到界面。
有人可以解释一下吗?
【问题讨论】:
-
第一行应该是
export const TerminalWidgetOptions: unique symbol吗?因为,如果是这样,我不确定这段代码试图做什么。您声明了一个常量,它是一个符号和一个完全不同的接口,它们都具有相同的名称?此外,还有一个const,但它没有分配给任何东西。 -
我忘记了 const 前面有一个声明,我必须使用这段代码,但它不是我的。我尝试实现接口
-
这能回答你的问题吗? TypeScript variable name as interface type?
-
让我重申@VLAZ 所说的话。
const TerminalWidgetOptions; unique synbol;毫无意义,不管有没有declare。这只是一堆语法错误。我找到了the original code,您应该为const分配一个值,这是您通过调用Symbol("TerminalWidgetOptions")创建的Symbol。您既没有分配值也没有创建Symbol。这是代码文件还是声明文件? @glavigno 的答案声明了const但没有创建它。
标签: typescript interface symbols