考虑这个ES6代码:
class Person {
constructor(first, last) {
let fixed = this.normalize(first, last);
this.first = fixed[0];
this.last = fixed[1];
}
normalize(first, last) {
return [first.toUpperCase(), last.toUpperCase()];
}
}
当我稍后使用它时,PhpStorm / WebStorm可以识别first
和last
是该类的属性:
现在,如果我修改构造函数以使用destructuring assignment syntax:
constructor(first, last) {
[this.first, this.last] = this.normalize(first, last);
}
代码执行时没有错误,但IDE无法再看到属性:
这是我的代码的问题吗?我的IDE设置?我使用PhpStorm 2017.2.4
答案 0 :(得分:2)
您可以通过向类添加JSDoc来手动告诉PHPStorm应该假定这些属性存在于Person
- 链接对象上:
/**
* @property {String} first
* @property {String} last
*/
class Person {
// ...
}