我正在尝试新的类私有成员特征 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields#Private_fields???? 然而,我很快就遇到了一个问题:如何动态访问它们?
我希望它遵循预先存在的语法
constructor(prop, val) {
this[`#${prop}`] = val; // undefined
}
or
constructor(prop, val) {
this.#[prop] = val; // syntax error
}
然而,以上两种方法都失败了。
另一种选择是为您想要动态访问的密钥提供一个私有对象:
class privateTest {
#pvt = {}
constructor(privateKey, privateVal) {
this.#pvt[privateKey] = privateVal;
}
getPrivate(privateKey) {
return this.#pvt[privateKey];
}
}
const test = new privateTest('hello', 'world');
console.log(test.getPrivate('hello')) // world
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)