es6 中字符串的擴展
- includes
- startsWith
- endsWith?
- padStart
- padEnd
- 模版字符串
es6 中函數的擴展
- 箭頭函數
- this 對象指向定義時所在的對象
- 不可以當作構造函數,不可以使用 new 命令
- 不可以使用 arguments 對象,可以使用 rest 參數
- 不可以適用 yield 命令,因此箭頭函數不能用作 generator 函數
- 默認參數:允許在函數參數中指定默認值
- length 屬性:返回沒有指定默認值的參數個事,rest 參數不會計入 length,如果設置了默認值的參數不是尾參數,那么 length 屬性也不再計入后面的參數了
- 剩余參數:使用 ...rest 可以將多余的參數收集到一個數組中,方便處理不定量參數
- 展開運算符:使用展開運算符 ... 可以將數組或類數組對象展開成逗號分隔的參數序列
- 函數名稱屬性:每個函數具有一個 name 屬性,表示函數的名稱
- 是要函數參數使用了默認值,解構賦值,擴展運算符,那么函數內部就不能顯式設定為嚴格模式,否則會報錯
es6 中對象的擴展
- 對象字面量的簡寫語法:允許在對象字面量中省略鍵和值的重復部分,簡寫的對象不能用作構造函數
- 計算屬性名/屬性名表達式:允許在對象字面量中使用計算屬性名,即在方括號內使用表達式作為屬性名,屬性名如果是一個對象,默認情況下會自動將對象轉為字符串 [object Object]
- 對象方法的簡寫語法:在對象字面量中定義方法時,可以省略 function 關鍵字
- Object.assign 可以將所有可枚舉屬性的值從一個活多個源對象復制到目標對象,并返回目標對象,【會改變目標對象,所以一般我們用的時候目標對象設置成 {} 】
- 對象屬性的解構賦值:允許在對象解構賦值中從對象中提取并賦值給變量
- super 關鍵字指向當前對象的原型對象
- 擴展運算符的應用:在結構賦值中,未讀區的可遍歷屬性,分配到指定的對象上面
- 對象的遍歷
- for in
- Object.keys
- Reflect.ownKeys(obj)
- 新增的方法
- Object.is
- Object.assign
- Object.getOwnPropertyDescriptors
- Object.keys(),Object.values(),Object.entries(),返回數組
- Object.setPrototypeOf(),Object.getPrototypeOf()
es6 中數組的擴展
- 擴展運算符
- Array.of ,參數展開傳遞
- Array.from 參數是一個類數組
- find
- findIndex
- includes
- fill
- flat
- flatMap
- map \ filter \ reduce \ forEach
- entries \ keys \ values
- 數組解構賦值
- 使用 const [a, b] = [1, 2];
- 注意數組的解構賦值使用方括號
- 對象的解構賦值使用花括號
- 數組的擴展屬性
- Array.prototype.length 可以被修改
- Array.prototype[@@toStringTag] 返回 Array