草頭黃小姐的自學小本本已經進到第 22 天,今天要介紹 ES6 也就是 ES2015 標準。而 ES6 其實也不是什麼新玩意,早在 2015 年就開始使用。
我們過去介紹的寫法都是 ES5,但這個章節來介紹一些 ES6 比較好用的語法,未來在寫 JavaScript 時,如果可以勁量是使用 ES6 來寫。
例如過去在 JS Bin 上寫:
var name="kitty";
console.log('name');
就會印出 kitty
但 ES6 會怎麼寫呢?
let name="kitty";
console.log('name');
我們可以知道可以用 let 取代 var,但是不是就代表如果我要用 ES6 寫,ES5 的寫法就不能出現?
-> 其實是可以的唷,同一份檔案可以有 ES5 和 ES6 唷
那我們來寫個 for 迴圈看看:
for (var i=0; i<3 ;i++){
console.log(i);
}
這裡會印出
0
1
2
還記得我們說過括號裡面是 i 的條件,所以從 i 從 0 開始印,印到小於 3 就停,且 i 每次用遞增的方式進行。
如果我們往下寫:
for (var i=0; i<3 ;i++){
}
console.log(i);
我們可能以為會是裡面的 for 迴圈跑完了就沒有了,所以應該會印出 i ,但事實上我們卻會印出:
所以最後印出的數值還是被 for 迴圈影響到。
上面的程式碼,我們也可以寫成:
for (let i=0; i<3 ;i++){
}
console.log(i);
所以如果我們可以改成 let 的話,則會跑出 wrong 的結果出來。
因此改用 let 的好處,作用範圍就所在 for 迴圈裡,相對來說,這樣寫法比較乾淨,比較不會讓 for 圈影響前後,程式碼相對也比較優質。