iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 1
5

從開始學習 JS 到現在的約莫一年內,我陸陸續續看了許多相關書籍,也在需要特定知識的時候參考有關的文章,但是我認為自己還沒有對這些知識做系統性地整理過,所以我決定開啟這個系列的撰寫並藉由鐵人賽推動自己完成它,內容涵蓋變數提升、 this 、Class 語法糖、圓形鍊、記憶體運作、閉包......等我覺得 JS 學習者必須要會的東西,這個系列不會從如何撰寫基本語法開始說明,你讀完也不會變成大師,但是如果你是想更深入學習的初學者,希望這個系列能夠帶給你一些啟發,並知道要從哪些概念開始學習起。這個系列適合:介於 Junior 與 Senior 中間的 JS 開發者 、以及閒閒沒事想複習一下的 JS 工程師們。

我們在使用 JS 的時候最常感到頭痛的應該就是那些充滿疑雲的奇怪現象(想想那個「為什麼不能動 / 疑?為什麼可以動? 」的笑話 ),然而我想這些無法依照常理來理解的現象也正是讓這個語言變得有趣的主要原因。其實理解 JS 底層運作方式以後,這些魔法也就沒那麼可怕了,希望能夠藉由這個系列讓自己對 Javascript 了解得更透徹,也帶給往後想要深入鑽研 JS 的初學者一個比較具體的認知。

在內容的選擇上,我會根據最近找到的 33 Concept Github Repo裡面提供的一系列資源,挑選我認為想要靈活運用 JS 的話一定要會的基礎知識,並且搭配像是、Udemy 知名的 「 理解奇怪的部分 」、六角學院的 「 JS 深入核心 」系列等含金量比較高的線上課程內容來做補充或是輔助說明。

詳細的大綱會根據本人的撰寫速度來做調整,因此會等全系列完成之後再行整理上來,敬請讀者們見諒,但大致上可以分為三個部分:

  1. 階段一 - To See The Force ( Day02 ~ Day 10 ):

    在這個階段我會提一些 JS 比較常見的預設行為和專有名詞如自動轉型、提升、純值......等,可能也是最常讓人產生疑惑的部分,有的開發者可能常常碰到,但如果沒有特別深究,就容易被忽略或遺忘。

  2. 階段二 - To Feel It ( Day11 ~ Day21 ):

    這部分會有比較深入的概念解說,我認為像是 Class、原形鍊、Event Loop 、Closure...這些也是 JS 最為核心的概念部分。

  3. 階段三 - Bring Everything Together ( Day22 ~ Day30 之後):

    前兩階段對於我來說都是有使用過並且大概了解,但是無法完整描述的知識,剛好藉由鐵人賽來做一個整理。在最後一個部分的內容會比較偏向整合性內容,我想要運用前面所學,組合之後昇華,去接觸以前比較沒有機會思考或是使用到的知識。

    https://ithelp.ithome.com.tw/upload/images/20190916/20106580lJIWdcHc2t.png

接下來就讓我慢慢帶領各位前進吧,在一些比較抽象的概念上,我會盡量以圖文的方式來解說,不過你可能要還是要有點心理準備,就算是這樣,這還會是一趟漫長的旅程。畢竟不管是哪一門程式語言,在學習之路上都沒有迅速的捷徑,端靠慢慢累積經驗跟不段的促進自己思考,一起加油吧。最後僅此獻給各位讀者:

If you choose the quick and easy path , as Vader did. You will become agent of evil. " - Yoda


下一篇
JS 原力覺醒 Day02 - JavaScript V8 引擎
系列文
JavaScript 原力覺醒 - 成為絕地武士之路30

尚未有邦友留言

立即登入留言