在Javascript类中声明和访问变量
我正在学习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
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?