var obj = {}
obj.__setitem__ = function(key, value){
this[key] = value * value
}
obj.x = 2 // 4
obj.y = 3 // 9
JavaScript 没有 __setitem__,因此这个示例显然不起作用。
在 Python 中,__setitem__ 的工作方式如下:
class CustomDict(dict):
def __setitem__(self, key, value):
super(CustomDict, self).__setitem__(key, value * value)
d = CustomDict()
d['x'] = 2 # 4
d['y'] = 3 # 9
在JavaScript中是否可以实现__setitem__行为?所有巧妙的解决方法都将有所帮助。