iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 23
0
Modern Web

從零開始遲來的Web開發筆記系列 第 23

今天閒聊JS裡的物件

  • 分享至 

  • xImage
  •  

不小心怠惰了......所以來聊點過去練習的經驗。

今天閒聊JS裡的物件。class這個關鍵字蠻早的時候就被作爲保留字,意思是雖然不像 keyword(關鍵字) 那樣代表特殊功能、特殊意義和語法,但在未來之中也已經被考量。也就是在ES6的時候,class正式有了作用,並有了自己建構子、方法的定義方式,同時宣告JS加入了物件導向程式設計(OOP)的設計風格。OOP是目前被公認最好維護程式架構的風格,四人幫受寫的 設計模式(design patten) 更有許多試針對物件導向特別容易實現的,附帶一提,雖然設計模式是從建築那塊學問而來,但在程式設計領域,四人幫提出的四十幾種設計模式,我會非常推薦來看,像是MVC模式就是一個非常有用,在網頁框架設計上也很多使用的複合模式。

ES6之後class才有了作用,那之前就不能做物件導向的事情嗎?可以的,JS到目前還保留Prototype的屬性與設計方法。prototpye的設計方法,一定程度上實現了OOP裡的繼承,不過實際上透過工廠模式(Factory Patten)與函式,就可以實現封裝與方法。再透過一些方式,物件導向的一些特性也能夠做出來。

在我學習Prototype之前,是看了Lua的教學,Lua是個非常簡單的程式語言,也非常輕巧,但我認爲設計的很棒,針對於他所想要的目的在設計。Lua是OOP嗎?不是,爲了輕巧他不輕易提供OOP甚至模組化,但是這兩者都有對應的實現。雖然與網頁無關,但我也非常推薦去學一下Lua,去看看Lua程序設計


上一篇
CSS框架網頁框架(下)
下一篇
雙欄式佈局
系列文
從零開始遲來的Web開發筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言