My ECMAScript now 新舊寫法的取捨 我並未全面改用 let 我會在 function 函式物件裡,用 var 表示向物件增加變數屬性,增加語言表達能力。用 let 的話,比較像在表示區域變數,表達能力沒有 var 強。 事實上,要藉由 window 物件保存全域變數時,也只能繼續用 var 才能把變數添加到 window 物件,沒辦法改用 let,所以我在 function 物件裡用 var 添加屬性是說得過去的。 我不打算全面改用 => 箭頭函式 雖然我也覺得 function 這關鍵字有點長,如果能像 Rust 的 fn 或 Kotlin 的 fun 一樣短就好了!但要指定一個函式物件給指標變數時,我會繼續用 function() 函式物件,藉由關鍵字的字眼清楚交代我在做什麼。 只有在傳遞函式參數時,我才會改用 => 箭頭函式,因為 ()=> 的寫法不見得比 function() 好看: // 在指定運算子的場合 () => 其實很醜,辨識度變差,解讀起來有障礙。 onload = function() { document.write('AAA'); }; onload = () => { document.write('BBB'); }; // 當參數傳遞時 () => 才會好看,但 function() 也不醜,很容易辨識與解讀。 addEventListener('load', function() { document.write('CCC'); }, false); addEventListener('load', () => { document.write('DDD'); }, false); Hello, world! 和 print()、clear()