【问题标题】:VSCode .hasOwnProperty() is not shown in IntelliSenseVSCode .hasOwnProperty() 未在 IntelliSense 中显示
【发布时间】:2020-02-29 19:25:03
【问题描述】:

VSCode 在 IntelliSense 中不显示 hasOwnProperty()

根据 GitHub 上的这个问题,这是有意的。 https://github.com/Microsoft/vscode/issues/54944

有没有办法让这些常用方法显示出来? (在 JavaScript 而非 TypeScript 中)

【问题讨论】:

    标签: javascript visual-studio-code intellisense


    【解决方案1】:

    hasOwnPropertyObject 原型内。

    几乎所有对象都继承Object原型,但不是全部,例如:

    const x = Object.create(null);
    x.hasOwnProperty // undefined
    

    如果您的对象被定义为any,VS Code 将预测该对象可能不能从Object 继承,因此它不会显示建议,因为它不被认为是安全的。

    如果您想要更好的预测,请将对象定义为Object 而不是any

    const x: Object;
    

    如果您已经定义了类型,请确保它扩展了 Object:

    export interface Foo extends Object {
    

    【讨论】:

    • 我不使用打字稿。如果我用const test = {} 创建一个对象,它不应该根据流程识别出这确实是一个对象吗?
    【解决方案2】:

    如果你使用打字稿,你可以尝试类型转换吗?

    或者

    【讨论】:

    • 我不使用 TypeScript
    猜你喜欢
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多