我遇到了一个很奇怪的问题:
class AddOrSelectAddress {
static allCountries = {
AD: "Andorra",
AE: "Vereinigte Arabische Emirate",
AF: "Afghanistan",
// ...
};
constructor() {
console.log('new');
console.log(this.allCountries); // prints "undefined"
}
}
const myInstance = new AddOrSelectAddress();
为什么会这样?我希望this.allCountries
会在其中包含对象。
答案 0 :(得分:2)
静态方法和属性可以通过类而不是通过 this 关键字进行访问:
class AddOrSelectAddress {
static allCountries = {
AD: "Andorra",
AE: "Vereinigte Arabische Emirate",
AF: "Afghanistan",
// ...
};
constructor() {
console.log('new');
console.log(AddOrSelectAddress.allCountries);
}
}
const myInstance = new AddOrSelectAddress();