【问题标题】:Typescript const name and interface - how to implements?Typescript const 名称和接口 - 如何实现?
【发布时间】: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


【解决方案1】:

您是否尝试在定义和导出它之前声明它?

declare const TerminalWidgetOptions: unique symbol;

export interface TerminalWidgetOptions {
    endpoint: Endpoint.Options;
    id: string;
    caption: string;
    label: string;
    destroyTermOnClose: boolean;
}

我参考了官方documentation

【讨论】:

  • 声明同样的问题
  • 您使用的是哪个版本的 Typescript?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-20
  • 2015-12-14
  • 2016-09-03
  • 2020-04-06
相关资源
最近更新 更多