這篇就不用上 vue官網了
影片的章節來到第七章,JavaScript ES6,六角給予未註冊的預覽範圍滿大方的,這裡有包含在內唷!點我
var
有 hoisting,let
沒有var
作用域是 function scope
;let
是 block scope
這裡影片中舉了一個for
裡面包著一個setTimeOut
的例子。setTimeOut
是非同步事件,所以執行位置必須要注意
參考: 2018鐵人賽 重新認識 JavaScript: Day 26 同步與非同步 Kuro Hsu
常數跟變數很像,只是常數不可變動,唯一 (筆者目前覺得的唯一) 要注意的是如果常數是被 assign一個陣列或物件,是可以push
值進去的喔!
參考: pjchender [筆記] JavaScript ES6 中使用 const 宣告常數
這個部落格非常棒!超級推薦挖寶!
...
沒錯!就是 ...
這個展開運算子就是 ...(到底是在點點點什麼!)
let daughterInLaw = [ '金背背', '金價背', '金狼狽' ]
let kingsFamily = [ '驚世', '媳婦', ...daughterInLaw ] // [ '驚世', '媳婦', '金背背', '金價背', '金狼狽' ]
第二行那個點點點
參考: 從ES6開始的JavaScript學習生活 展開運算符與其餘運算符
參考: MDN Spread syntax
可以用來方便創造新陣列(淺拷貝/淺複製)及串起陣列(以往使用的concat()
),而展開運算子的功能是將陣列中的值一個一個取出(展開),可以用以下範例來觀察
var arrayExample = ['a', 'b', 'c']
console.log(...arrayExample) // a b c 而不是陣列
讓陣列內元素數量不需指定數量
function kingsNeighbourhood(name1, name2, name3){
//...一些程式碼...
}
kingsNeighbourhood('莎拉公主','沙隆巴斯','沙里洪巴')
上例我們有指定參數的數量。
function kingsNeighbourhood(...names){
console.log(names)
}
kingsNeighbourhood('莎拉公主','沙隆巴斯','沙里洪巴') //['莎拉公主','沙隆巴斯','沙里洪巴']
這邊沒有指定參數數量。
陣列/物件專屬。MDN 解構賦值:描述
{ oldOne : newOne } = obj
這次鐵人賽筆者習慣先在 mac pro裡的備忘錄先記錄部分關鍵字及句子,再整個貼上來補充跟潤飾,發現有些標題貼上備忘錄會變粗體,結果有快捷鍵可以設定粗體( cmd + B
),用在鐵人賽也可以耶! (番外篇有著落了XD)