4 ms·
In Python b = foo.bar b() correctly invokes the bar method of the foo object. In JavaScript, you have to write let b = foo.bar.bind(foo) because foo.b
by prodigal_erik 10y ago
In Python
b = foo.bar
b()
correctly invokes the bar method of the foo object. In JavaScript, you have to write
let b = foo.bar.bind(foo)
because foo.bar gives you a function (not a method) that doesn't remember which object it came from.
- groovy2shoes 10y agoI'm aware of what you have to write in JS, and I'd argue that that's the behavior that's to be expected. I'm actually more surprised by Python's behavior here. Lua works the same way JS does, as does Common Lisp.