哪种JavaScript OOP设计模式最能利用(新)ECMAScript 5的功能?

时间:2009-06-18 13:28:35

标签: javascript oop ecmascript-5

ECMAScript 5 is in final draft now,包括与对象和原型相关的新功能。在围绕SO和谷歌寻找OOP设计模式时,我发现在JavaScript中有很多不同的“做OOP”的方式(但是你可能会定义OOP,从尝试模拟经典OOP到简单地试图减少名称空间污染)

哪种设计模式与ECMAScript 5引领JavaScript世界的方向最具前瞻性?它的主要优势是什么?以前哪些不可能或不好实现?

2 个答案:

答案 0 :(得分:3)

我认为ECMAScript 5不会改变JavaScript中OOP的格局。对于想要使用它的人来说,经典的OOP仍然是一个固定的。

在我看来,真正的故事是当ECMAScript 4被废弃时,JavaScript和ActionScript会发生分歧,并且JavaScript不会像ActionScript那样添加类。

我怀疑支持OOP的库(MooTools,Prototype等)将主要坚持他们正在做的事情,但也许他们可以在他们的实现中使用一些新的ECMAScript 5功能来巩固事物。

我们可能会继续看到有趣的方法,例如JooseClass.js

请记住,这需要一段时间。我们仍然有两位数的人使用IE6。因此,使用ECMAScript 5的第一个有用的地方可能是移动电话,Adobe AIR和JavaScript服务器,其中(主要或严格地)已知浏览器。

John Resig发表了一篇关于ECMAScript 5对象更改的文章here

答案 1 :(得分:1)

我认为Object.create的标准化将允许更多人使用底层的基于原型的OO而不会感到羞耻。试图在包装器后面隐藏“new Foo”伪经典语法会使代码混乱。