Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript类中声明和访问变量_Javascript_Class_Oop_Ide - Fatal编程技术网

在Javascript类中声明和访问变量

在Javascript类中声明和访问变量,javascript,class,oop,ide,Javascript,Class,Oop,Ide,我正在学习JavaScript,遇到了一个关于类实例属性的问题。考虑下面的代码: class MyClass { constructor(a, b) { this.a = a; this.b = b; } a_plus_b() { // My IDE (WebStorm) complains about unresolved variables a and b // This also means that

我正在学习JavaScript,遇到了一个关于类实例属性的问题。考虑下面的代码:

class MyClass {
    constructor(a, b) {
        this.a = a;
        this.b = b;
    }
    a_plus_b() {
        // My IDE (WebStorm) complains about unresolved variables a and b
        // This also means that autocompletion doesn't work correctly
        return this.a + this.b;
    }
}
let instance = new MyClass(1,1);
let result = instance.a_plus_b();
console.log(result) // shows 2 as expected
正如上面代码块中的注释所解释的,我的IDE抱怨未解析的变量
a
b
,这也意味着如果我在
实例中按tab键。
我不会将这些变量视为类实例的属性。使用
a将这些变量声明为构造函数正上方的类属性是有帮助的;b
我是否遗漏了一些关于JS的信息?这是一个IDE错误吗?在不必在构造函数之外声明这些属性的情况下,有没有什么好的解决方法

非常感谢

以下是我的IDE的屏幕截图:

您是否尝试过直接在Node或其他程序中运行代码?IDE很难跟踪JavaScript代码中的有无意义(有时),因为它是动态的。公共实例字段可以通过Babel和许多最新的运行时环境获得。这是否会让Webstorm高兴,我不能说。它在我的IDE中工作正常,这里没有错误。在我的IDE中运行代码工作正常,它也在我的IDE中工作,让我恼火的是警告以及无法访问这些属性。你使用的是TypeScript还是JavaScript?