var obj = {}
obj.__setitem__ = function(key, value){
this[key] = value * value
}
obj.x = 2 // 4
obj.y = 3 // 9
У JavaScript нет __setitem__, и этот пример явно не работает.JavaScript-эквивалент Python's __setitem__
В питона __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
Можно ли реализовать __setitem__ поведение в JavaScript? Все обходные пути помогут вам.
Выглядит хорошо! Не могли бы вы разместить ссылку на страницу там, где это было предложено? – NVI
@NV: Это в некоторой ошибке на bugzilla.mozilla.org. Я не мог найти его с помощью простых поисков, поэтому вам может потребоваться некоторое время, чтобы найти его. –
@NV: Найдено: https://bugzilla.mozilla.org/show_bug.cgi?id=312116 –