gpt4 book ai didi

typescript - 为什么我在对象文字上出现错误类型断言被禁止,而是使用类型注释。 tslint(no-object-literal-type-assertion)?

转载 作者:搜寻专家 更新时间:2023-10-30 21:03:20 26 4
gpt4 key购买 nike

我在 TS 中有代码

interface Context {
out: vscode.OutputChannel,
myPorts: number[]
}

const outputChannel = vscode.window.createOutputChannel('my-run');

const ctx = {
out: OutputChannel,
myPorts: []
} as Context;

我得到错误类型断言对象文字被禁止,使用类型注释代替。 tslint(no-object-literal-type-assertion

最佳答案

This rule禁止使用 as注释类型。相反,您应该使用类型注释 var: type语法,如:

    const ctx: Context = {
out: OutputChannel,
myPorts: []
};

在某些情况下,该语法可能会引发一些错误,然后您可能需要将对象文字转换为 anyas any (这实际上是规则允许的):
    const ctx: Context = {
out: OutputChannel,
myPorts: []
} as any;

现在,我不确定您是否询问如何让您的代码符合规则(我已经回答了),或者 为什么首先出现警告 .如果是这样,这取决于您的 tslint 配置,如果您的配置不标准,您可能需要提供一些额外信息。如果是,你必须去 tslint.json文件添加:
no-object-literal-type-assertion: false
rules json 的字段。

关于typescript - 为什么我在对象文字上出现错误类型断言被禁止,而是使用类型注释。 tslint(no-object-literal-type-assertion)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56166791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com