給大家參考拉,我覺得實際開發上不太可能用到。
算是一種運用 JavaScript 的思路。
大概想表示,不用使用 new , class, prototype , __proto__
一樣可以用到常用的功能,
只要使用 Object.create() 就可以完成 object linking。
Object.create() 實作有用到 new ,但是細節用 API 隱藏就不會有混淆。
以前的思路 80s 90s
比較現代一點的思路,避免過度巢狀繼承
曾經很紅的 mixin ,但很快被 JavaScript 前端框架使用者 淘汰掉。
(因為沒有太多實務可以佐證,所以我個人覺得是方向
)
這邊的連線是用一開始的方法,Object.create() 創造 link
比較複雜的範例:
溝通關係:
這邊調用的方法都是透過 delegation 的 link 去找其他的 object,
不會有繼承(複製 instance),但是調用的 this 卻還是留在 誰呼叫 this
上,
充分運用 JavaScript 特性。
其實我不太理解,這好像大家都做得到
可能要表達透過 link 抽換 mock ,交互測試比較方便吧(?)
這邊是我個人的總結,也是 30 天的總結。
一開始先寫 Kyle 兩天
我覺得先認識作者,才更能理解內容。
寫 "Types & Grammar" 寫 10 天
這邊我發現不太對,如果要寫很細,
基本上大概整個鐵人賽 30天 只能寫這一本。
我有參考其他人的寫法,把一本寫成 2 - 3 天真的猛,
(雖然我覺得省略太多東西,但確實不需要太多知識也可以成文)
但可惜,我文筆不好不能表達整本書 + Kyle 本人的思想
更不可能只丟連結叫大家花錢上課再回來看。
後面就轉 Kyle 提到的觀念
為主了
這邊主要練習如何看 Spec.
很多網路上的文章,其實寫的錯誤很多,
但無奈對方都是大神,還有出書的,
我新人只是聽完 Kyle 的課程,發現有錯,
拿著 ECMAScript Spec. 去糾正別人基本上也不會有好處,
說不定會更受刁難 XDD
只是寫程式的工程師,或多或少看到資料都要抱持懷疑,
連 MDN 很多東西都有錯,其實查 Spec. 才是真理。
對話
,本來想錄影的,但是練習寫文章表達也是這次鐵人賽的目的之一,
只好繞遠路,
聽到對話 => 寫成文字 => 轉成口語 => 轉成動畫
Closures 可以說是現代程式語言最重要的地方,
我新人的經驗認為,沒有之一,就是最重要的。
事實上所有的遞迴,
優化最簡單的方法也是充分運用 Closures 。
可以幫我補充,下一個月才要正式開始精讀 XD
最常聽到的 functional programming 的技巧也是充分運用 Closures。
讀完 資料結構演算法 才來精讀的目標 XD
寫到這邊也只是在配合天數了。
接下來有幾個打算
這次 30 天選的題目材料是 10 小時,花一個月。
感謝大家的不嫌棄。
之後文章再見拉~
恭喜完賽,很棒的系列
我覺得我應該也要找個時間去看他的課程進修一下
謝謝大大討論文章的細節
果然有些東西不夠瞭解還是容易誤導人XD
frontendmasters 這個課程平台真的請很多大師
如果之後有寫到 vue
Evan You 還有親自開課,
沒有寫 vue 也可以看他怎麼構思框架的思維。
Advanced Vue.js Features from the Ground Up
如果有時間,蠻推薦上去尋寶的 哈哈