Day 108 (Week16), 2021/07/28 (Wednesday)
學習時數:7 hr
Done
- [done][ JS201] 從 Hoisting 理解底層運作機制 50% ~ 100%、從 Closure 更進一步理解 JS 運作、物件導向基礎與 prototype 50%
To Do @ this week
- [] w15 (w11 ~ w14 心得)
- [] w16 [JS201]
- [] w16 What the heck is the event loop anyway? | Philip Roberts | JSConf EU
學習心得紀錄
Objective 客觀
[JS201]
昨日看到從 ECMAScript 看 hoisting 的原理,跟著影片抄筆記,今天自己嘗試在範例中,寫出 globalEC.VO
、function EC.AO
,還有從 ECMAScript 看作用域:[[Scope]]
、scopeChain
的練習,然後再提到日常生活中遇到的作用域陷阱時,才瞭解在 for loop 令 iteration 的宣告有 var
、let
兩種,會造成不一樣的結果,從前只是知道一些相關的規則,這次是去瞭解這些規則背後的原理。
過程中其實看到滿多 function call 來 call 去,或者 return 的,其實有一點不習慣,印象中最開始較頻繁使用,好像是在 XHR 發 request 時,在參數裡面寫 function,那實才稍稍習慣 call back function 的使用,這次還加入了 closure 的概念。
物件導向及 prototype
今天才看到 ES5 class 怎麼和 ES6 的新語法 class 對照,剛學物件導向,例如 new
的語法,從最開始只熟悉 array,不熟悉 object,然後慢慢接觸 API 文件的 JSON 轉 object 格式,到現在的物件導向。
感受
在 hoisting、ECMAScript、closure 第一次聽的時候其實覺得滿複雜的,所以就一邊播一邊按暫停,抄寫 HackMD 筆記,所以花滿多時間在抄寫筆記上的,不過有一點滿開心的是,自己嘗試寫寫看範例的 execution context 找 scopeChain 及值,有對大概八成!
Decisional 決定行動
希望明天可以看完 [JS201],然後邁向讀一些相關文章。