5 ms·
There's still Proxy for that. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy https://developer.mozilla.org/en/docs/Web/Jav
by lyschoening 11y ago
There's still Proxy for that.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy https://developer.mozilla.org/en/docs/Web/JavaScript/Referen...
- toomim 11y agoIndeed, Proxy always seemed like the more general version of Object.observe. It not only "tells you when state changes", but lets you write code to say what that means. What's the state of Proxy? Are the people behind it still working on it? Are we going to be able to use it? Will it be fast?
- thomasfoster96 11y agoProxy has already been standardised (in ES6) so it should be coming into browsers soon. It's a little harder to polyfill than O.o though.
- AnkhMorporkian 11y agoAs far as I know Proxy is impossible to polyfill. There are some patches which make old browser versions of Proxy meet the spec, but I just don't think you can close the Proxy gap with pure javascript.
- pipeep 11y agoIt's possible if you also translate all of the code that uses the polyfilled object by converting every MemberExpression to a function call, but that's probably a nightmare for performance.
- bcherny 11y agowhat happens when i add a property to the object that i'm proxying after the Proxy is already instantiated? you wouldn't be able to detect the addition and add getters/setters for the property unless you use some sort of O.o or dirty checking on the underlying object. see https://github.com/bcherny/auditable https://github.com/bcherny/auditable for an implementation, sans O.o.
- pipeep 11y agoIf you intercept every MemberExpression on every object, you can solve this (with the exception of eval), but as I said, it would be incredibly slow.
- iamleppert 11y agoThis looks crazy and way more complicated than I would ever want.