參考同學作業並修正
一早發現同學幫我抓 bug,超棒的大感謝,好好研究了一下大家的作業、看完作業講解影片,完全忘記有短路性質可以運用啊!!還有超多地方可以改進,感覺良好。
複習、修正本週筆記
把第三週的筆記重新複習一次,並修正某些不通順的地方,發現筆記越寫越隨便,這樣…好像也不錯?感覺少一點痛苦,反正是給自己看的,標準很低,只求不要放棄。
NaN == NaN
or NaN === NaN
→ 都是回傳 false
寫作業時遇到這問題,卡了許久,才發現有這種奇怪的現象,剛好當天就在同學的進度報告看到解法,感謝同學助手相救!晚上研究此問題,發現此坑很深,乾脆直接把奇妙物語整理成一篇筆記。
.isNaN()
、改用 Number.isNaN(x)
x = x || 0
( 如果 x
的布林值為 false
,把 x
設為 0 )// 只要前面變數的布林值為 false,就回傳後面的變數值
null || 5 // 5
undefined || 5 // 5
NaN || 5 // 5
0 || 5 // 5
false || 5 // 5
10 || 5 // 10
一整天就花在寫作業、改作業上面,寫出來很有成就感,等等會不會又發現 bug 呢?( 拜託不要 )
之前上完課立誓要用 TDD 流程,然後今天寫作業就甩到一旁,苦頭後面就嚐到了,提交之前臉就被打到腫腫的。多放一組測試資料、又傷了一次心,尤其是大數加法,測試真的很重要啊!
第二期影片,講到 obj2 = {...obj1}
的時候嚇一跳,太神奇了吧!要好好認真研究( shallow copy & deep copy ) 「淺拷貝」&「深拷貝」的差異,如果要拷貝完全的話可以參考以下方法:
const obj_json = JSON.stringfy(obj)
const obj2 = JSON.parse(obj_json)
( 好奇葩的解法! )
寫作業的時候要算 10
的 n
次方,一開始用 Math.pow
,被 ESLint 禁止了,查到可以用 **
的用法,謝謝糾察隊!
以下兩種寫法相等:
Math.pow(10, n)
10 ** n
「 學完 ES6,不知道怎麼用它怎麼辦 ? 就…不要用 」
登愣!以前的自己胸膛中箭( 學完 ES6 語法、我好棒棒,回頭繼續寫 ES5 )
當然不是要為用而用,但還是希望明明有好鞋子穿、就不要再赤腳走路了。
最近好像越來越沒耐心,趕快回正軌,不要鬧了啊!!! (搖自己肩膀)