|
1
215
(2011年的原始答案见下文) :
未重写的操作具有其默认行为。在上面,我们忽略的是
在
这使您可以使用所需的catch all getter和setter功能创建一个对象:
上述输出为: Getting non-existent property 'foo' [before] obj.foo = undefined Setting non-existent property 'foo', initial value: bar [after] obj.foo = bar
请注意,当我们尝试检索时,我们是如何获得“不存在”消息的
2011年的答案 (2013年和2015年更新见上文) : Section 11.1.5 不提供任何通配符之类的。
当然,您可以实现一个函数来实现它,但我猜您可能不想使用
FWIW,getter函数(我不关心setter逻辑)如下所示:
|
|
|
2
4
以下是解决这一问题的原始方法:
编辑: 基于我提出的改进的、更面向对象的方法如下:
你可以看到它在工作 here . |
|
|
3
0
前言:
T.J. Crowder's answer
提到一个
要具体实现动态创建的getter和setter,可以使用
要点是可以在一个对象上定义getter和/或setter,如下所示:
在这一点上,这些也可能是有趣的:
|
|
|
4
-6
这对我有用 |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |