Day 108 (Week16), 2021/07/28 (Wednesday)

學習時數:7 hr

Done

  • [done][ JS201] 從 Hoisting 理解底層運作機制 50% ~ 100%、從 Closure 更進一步理解 JS 運作、物件導向基礎與 prototype 50%

To Do @ this week


學習心得紀錄

Objective 客觀

[JS201]

昨日看到從 ECMAScript 看 hoisting 的原理,跟著影片抄筆記,今天自己嘗試在範例中,寫出 globalEC.VOfunction EC.AO,還有從 ECMAScript 看作用域:[[Scope]]scopeChain的練習,然後再提到日常生活中遇到的作用域陷阱時,才瞭解在 for loop 令 iteration 的宣告有 varlet 兩種,會造成不一樣的結果,從前只是知道一些相關的規則,這次是去瞭解這些規則背後的原理。

過程中其實看到滿多 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],然後邁向讀一些相關文章。

#物件導向 #closure #hoisting







你可能感興趣的文章

【Day 3】Docker Container(容器)與 Volume(數據卷)

【Day 3】Docker Container(容器)與 Volume(數據卷)

Git 筆記 - 將本地專案推送至別的儲存庫同步

Git 筆記 - 將本地專案推送至別的儲存庫同步

ES6(解構、Spread Operator、Rest Parameters)

ES6(解構、Spread Operator、Rest Parameters)






Comments