(1)let 取代 var,建議不再使用 var 命令,使用 let 命令取代
(2)在 let 和 const 之間,優先使用 const,尤其在全域性環境,不應該設定變數,只應設定常量。
(3)靜態字串一律使用單引號或反引號,不適用雙引號。動態字串使用反引號。
(4)使用陣列成員對變數賦值時,優先使用解構賦值。
(5)函式的引數如果是物件的成員,優先使用解構賦值。
(6)如果函式返回多個值,優先使用物件的解構賦值,而不是陣列的解構賦值。這樣便於以後新增返回值,以及更改返回值的順序。
(7)單行定於的物件,最後乙個成員不已逗號結尾。多行定義的物件,最後乙個成員以逗號結尾。
(8)物件盡量靜態化,一旦定義,就不得隨意新增新的屬性。如果新增屬性不可避免,要使用 object.assign 方法。
(9)若物件的屬性名是動態的,可以在創造物件的時候,使用屬性表示式定義。物件的屬性和方法,盡量採用簡潔的表示式。
(10)使用擴充套件運算子(...)拷貝陣列。
(11)使用 array.from 方法,將類似陣列的物件轉換為陣列。
(12)立即執行函式可以寫成箭頭函式的形式。
(13)那些使用匿名函式當做引數的場合,盡量用箭頭函式代替,而且繫結了 this。
(14)可以使用箭頭函式取代 function.prototype.bind ,不應再使用 self/_this/ that 繫結this.
(15)所有配置項都應該集中在乙個物件,放在最後乙個引數,布林值不可以直接作為引數。
(16)不要在函式體內使用 arguments 變數,使用 rest 運算子(…)代替。因為 rest 運算子顯式表明你想要獲取引數,而且 arguments 是乙個類似陣列的物件,而 rest 運算子可以提供乙個真正的陣列。
(17)使用預設值語法設定函式引數的預設值。
(18)注意區分 object 和 map,只有模擬現實世界的實體物件時,才使用 object。如果只是需要key: value
的資料結構,使用 map 結構。因為 map 有內建的遍歷機制
(19)總是用 class,取代需要 prototype 的操作。使用extends
實現繼承。
(20)如果模組預設輸出乙個函式,函式名的首字母應該小寫。
(21)如果模組預設輸出乙個物件,物件名的首字母應該大寫。
ES6學習筆記
let 塊變數 作用域為塊 const 常亮 作用域為當前塊 解構賦值 例 var x,y 1,2 字元擴充套件 at includes startswith endswith repeat codepointat 模板字串 例 正則的uiy 數值擴充套件 number.isfinite numbe...
ES6學習筆記
常用語法 1 let 與var類似,不同的是let定義的變數有塊級作用域,比如 var a 1 while true alert a 2 用let let a 1 while true alert a 12 const用來定義變數,但是定義之後的值不能再次更改了。乙個實際的用途是用來定義引入的模組,...
ES6學習筆記
var 有變數提公升 let 是塊級作用域,沒有變數提公升 模板語言 還原百分百定義的格式 const 定義常量,特殊情況可以改變值 const b 1 b 2 error const b b.a 2 ok b.c 10 ok object是記憶體位址,位址不變就沒問題 預設值 在不知道接收到個什麼...