iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 15
0
Modern Web

log Vue 一下系列 第 15

Vue一下 15日:聊聊ES6 let, const, 無言的展開運算子和其餘,解構

  • 分享至 

  • xImage
  •  

這篇就不用上 vue官網了

var, let, const

影片的章節來到第七章,JavaScript ES6,六角給予未註冊的預覽範圍滿大方的,這裡有包含在內唷!點我

var vs let

  • var有 hoisting,let 沒有
  • var作用域是 function scopeletblock scope

這裡影片中舉了一個for裡面包著一個setTimeOut的例子。
setTimeOut是非同步事件,所以執行位置必須要注意
參考: 2018鐵人賽 重新認識 JavaScript: Day 26 同步與非同步 Kuro Hsu

const

常數跟變數很像,只是常數不可變動,唯一 (筆者目前覺得的唯一) 要注意的是如果常數是被 assign一個陣列或物件,是可以push值進去的喔!
參考: pjchender [筆記] JavaScript ES6 中使用 const 宣告常數
這個部落格非常棒!超級推薦挖寶!

array 展開運算子

...
沒錯!就是 ...
這個展開運算子就是 ...
(到底是在點點點什麼!)

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 解構賦值:描述

  • 將陣列裡的值,assign到變數裡,數量可不相等
  • 交換變數不需透過第三方變數
  • 拆解字元各字 assign到變數裡
  • 賦予新變數,舊變數自動 not defined
    { oldOne : newOne } = obj

小結

這次鐵人賽筆者習慣先在 mac pro裡的備忘錄先記錄部分關鍵字及句子,再整個貼上來補充跟潤飾,發現有些標題貼上備忘錄會變粗體,結果有快捷鍵可以設定粗體( cmd + B ),用在鐵人賽也可以耶! (番外篇有著落了XD)


上一篇
Vue一下 14日:是slot不是slut...
下一篇
Vue一下 16日:聊聊ES6 縮寫,箭頭函式,template string
系列文
log Vue 一下30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言