Tow*_*wer 10 javascript proxy ecmascript-6
我想试试ESx(Harmony?)Proxies.我想我现在知道基础知识,但我认为我没有能力利用它们.
有没有人设法使用它们的任何好处?我不知道任何图书馆或其他任何图书馆.
有关代理的更多信息,请查看助理教授Tom Van Cutsem 撰写的这篇文章.与谷歌的Mark Miller一起,Tom在代理人的提议中发挥了关键作用,在他的es-lab项目工作期间将其纳入未来的ECMAScript标准.
此外,请注意DirectProxies.js已被新的reflect.js垫片取代.
最后,查看Sindre Sorhus的负数组项目,了解一个简单用例的例子.
今天,问这个问题差不多5年了.虽然他们已经在2015年成为ECMAScript 2015标准(又称ES6)的一部分,但许多浏览器仍然没有实现它们:
如果您想在阅读此答案时知道哪些浏览器支持代理,请查看CanIUse.
代理是一个相当具有战略意义的功能,主要用于实现绑定或高级库抽象.如果您没有看到自己代码的直接用例,请不要担心.事实上,如果你这样做了,你应该至少考虑两次才能使用它们 - 通常情况下它们是矫枉过正的,并且有一种更简单,更有效的方法来实现同样的目的.
原始提案页面上有几个示例:http://wiki.ecmascript.org/doku.php?id = eth : proxies
事情已经发生了一些变化!Firefox 本身支持代理。使用Harmony-reflect.js的实现,您可以尝试根据Direct Proxies的建议规范使用代理。这适用于当前的 Firefox 或最新的 Chrome。
可能的用例:您有一个对象,该对象表示图形中的节点,其中包含id
、type
和任意其他用户定义的属性。将该节点绘制到屏幕上的库想要保存屏幕坐标,并且也直接与该节点类似。这可能会覆盖现有属性。
您现在可以将代理移交给绘图库,以捕获对节点的绘图特定属性的访问。然后,将它们重定向到节点的内部命名空间属性(例如drawing
)以分隔此数据。
这样,一个节点的所有数据都可以保存在一个地方。无需为不同的库复制和转换它,也无需稍后在不同的地方更改相同的属性。
归档时间: |
|
查看次数: |
3223 次 |
最近记录: |