你懂 JavaScript 嗎?#1 預備...GO!

你所不知道的 JS

這次鐵人賽的主題是「你懂 JavaScript 嗎?」,主要內容是「You Don’t Know JS」系列書的讀書筆記。

為什麼要讀這一系列的書呢?

由於近幾年的年度願望中都有「讀完 You Don’t Know JS 系列書」這一項(掩面),但苦於各種理由而導致進度嚴重落後(哭),那麼就讓我藉由這次鐵人賽一口氣讀完吧(握拳)!

在這裡引用書中的幾句話,勉勵我也勉勵各位讀者

不要停在「可以運作就好,但並非真正知道為何可行」的態度。踏向那崎嶇的「少有人走的路」,擁抱 JavaScript 的原貌,以及它能做到的事。只要擁有這種知識,就沒有無法理解的技巧、框架或是本週熱門流行詞的首字母縮寫。

所謂的「專業人員」,往往都是指能夠「製作產品」,像是解決問題、修 bug 等,而非理解和探究手上的工具。因此,這一系列的書將帶我們了解這個語言的運作細節,再將這些細節融入我們的思考方式和實際工作流程中。

一起來和我努力 30 天吧!

加油

目錄

導讀(Up & Going)

暖身 (๑•̀ㅂ•́)و✧

這部份的內容有…

型別與文法(Types & Grammar)

Do You Know What I Mean?

圖片來源:Do You Know What I Mean?

這部份會提到令人困惑的隱含式的強制轉型,在此會解答其運作方式和如何好好使用它。

這部份的內容有…

範疇與閉包(Scope & Closures)

JavaScript 引擎會在執行程式前先做編譯,在編譯階段會處理變數和函式的宣告,因此也會帶出拉升、範疇等議題,最後會提到何謂閉包與其應用-模組。

這部份的內容有…

this 與物件原型(this & Object Prototypes)

what is this?

圖片來源:What is this meaning of this?

這部份會提到幾個概念:(1) this 是函式執行時所屬的物件,而 this 是在執行時期做繫結,其值和函式在哪裡被呼叫有關,在這裡會歸納如何辨識 this 的值的四個規則;(2) 物件原型是屬性的查找串鏈,類似語彙範疇查找變數的方式;(3) 行為委派,這是物件原型最常應用的地方。

這部份的內容有…

非同步處理與效能(Async & Performance)

這部份主要是為了開發者能產出合理且高效能的程式碼,因此會提到非同步處理的機制和模式,讓程式碼能更好撰寫、更好維護、更好推理和有更佳的效能,例如:callback、promise、generator。最後會談到如何使用 web worker、SIMD 等達到資料的平行處理,與如何做效能最佳化,讓我們的程式不僅僅是能運作而已,而且是能夠運作得很好。

這部份的內容有…

ES6 與未來發展(ES6 & Beyond)

ES6

關注 ES6、ES7 甚至後續版本,不斷前進!

這部份的內容有…

鐵人賽後…並非結束,而是新的開始…

尚未補上連結的部份,我會繼續補上。

鐵人團隊介紹

大家好,我們是「武裝狗狗」!

武裝狗狗

p.s. 為何會取這個名字團員們也很困惑,可能是因為剛好用了某個「產生器」隨意轉了個覺得還可以的名字就報隊了吧!

成員如下(按字母順序排列)

歡迎大家閱讀我們的學習歷程,也請不吝指教!


同步發表於2019 鐵人賽


You-Dont-Know-JS javascript 你所不知道的JS 2019鐵人賽 你懂JavaScript嗎? 鐵人賽 你懂 JavaScript 嗎?2019 iT 邦幫忙鐵人賽 系列文