Typescript 中的符号构造函数错误:[ts] 只能使用“new”关键字调用 void 函数

0 types symbols new-operator typescript ecmascript-6

我是打字稿新手,正在尝试使用 ES6 Symbol 构造函数。如何在不使用的情况下正确解决此 ts lint 问题any

        const symbol = new Symbol(path);
Run Code Online (Sandbox Code Playgroud)

我不想做的事:

        const symbol = new (Symbol as any)(path);
Run Code Online (Sandbox Code Playgroud)

Nic*_*wer 5

您不使用new符号,打字稿会提醒您注意这一事实。您的代码(带或不带as any)在运行时抛出异常:

const path = 'something';
const symbol = new Symbol(path);
Run Code Online (Sandbox Code Playgroud)

相反,只需放弃新的即可。这将使代码不再抛出异常,并使打字稿不再告诉您存在问题。

const symbol = Symbol(path);
Run Code Online (Sandbox Code Playgroud)