如何在 JavaScript 中通过方括号访问私有字段

2024-04-29

这段代码的工作原理:

class Test {
  #field

  get field() {
    return this.#field;
  }
}

但如果我想计算字段名称我必须使用方括号,但它不起作用:

class Test {
  #field;

  get field() {
    return this['#field'];
  }
}

有没有办法获得具有计算名称的私有字段?


看来交出一个有特殊含义的字符串是个问题。

如果确实有必要,您可以评估一个字符串。

class Test {
    #field = 'foo';

    get field() {
        return eval('this.' +'#field');
    }
}

console.log(new Test().field)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JavaScript 中通过方括号访问私有字段 的相关文章

随机推荐