【发布时间】:2020-07-13 01:34:24
【问题描述】:
我有类似这样的代码:
class A {
constructor() {
this._a = 1;
}
get [val]() {
if (val == 'a') {
return this._a;
}
}
}
以上代码无效,因为val不存在。
我想从getter 中获取computed getter 名称并添加到变量val,这样我就知道正在访问什么属性。
我怎样才能做到这一点?
【问题讨论】:
-
您可能正在寻找代理 - 否则您无法在对象中拥有“包罗万象”的 getter。
-
为什么还要在这里使用计算属性名称?很明显,你的 getter 应该有名称
a,所以写get a() { return this._a; }。请发布您的实际代码并告诉我们更多关于您的实际问题。 -
请注意,“计算”并不意味着“动态”。它所做的只是在创建属性时从表达式计算属性的名称 - 当声明
class时,一次。
标签: javascript function class getter computed-properties