2009-06-18 19 views
1

ECMAScript 5 is in final draft now,幷包括與對象和原型有關的新功能。在圍繞SO和Google尋找OOP設計模式時,我發現有很多不同的「做OOP」的方式(不過您可以定義OOP,從嘗試模仿古典OOP到簡單地減少命名空間污染)在JavaScript中。哪種JavaScript OOP設計模式最能利用(新)ECMAScript 5功能?

對於ECMAScript 5採用JavaScript世界的方向,哪種設計模式最具前瞻性?它的主要優點是什麼?哪些是不可能的或者之前執行的很好?

+0

也許你想包含鏈接到你讀的草稿? – 2009-06-18 14:48:25

+0

好主意。完成。謝謝。 – Kev 2009-06-18 15:58:41

回答

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

我認爲Object.create的標準化將允許更多的人使用基礎的基於原型的面向對象而不會感到羞恥。試圖在包裝中隱藏「新Foo」僞僞造語法會使代碼混淆。