1.函數(shù)
1.ES6 允許為函數(shù)的參數(shù)設(shè)置默認(rèn)值,即直接寫在參數(shù)定義的后面
functionlog(x,y='World') { console.log(x,y); }
2.函數(shù)的name屬性,返回該函數(shù)的函數(shù)名
3.ES6 允許使用“箭頭”(=>)定義函數(shù)
var sum=(num1,num2)=>num1+num2;
4.try catch 可以忽略參數(shù)
2.數(shù)組
1.擴(kuò)展運(yùn)算符復(fù)制數(shù)組
const a1=[1,2];
// 寫法一? ? const a2=[...a1];
// 寫法二? ? ?const[...a2]=a1;
2.擴(kuò)展運(yùn)算符合并數(shù)組
const a1=[{foo:1}];
const a2=[{bar:2}];
const a3=a1.concat(a2);
const a4=[...a1,...a2];
3.擴(kuò)展運(yùn)算符字符串長(zhǎng)度
function length (str) { return[...str].length; }
4.fill方法使用給定值,填充一個(gè)數(shù)組
5.ES6 提供三個(gè)新的方法——entries(),keys()和values()——用于遍歷數(shù)組。它們都返回一個(gè)遍歷器對(duì)象(詳見《Iterator》一章),可以用for...of循環(huán)進(jìn)行遍歷,唯一的區(qū)別是keys()是對(duì)鍵名的遍歷、values()是對(duì)鍵值的遍歷,entries()是對(duì)鍵值對(duì)的遍歷
for(letindex of['a','b'].keys()){
console.log(index);}// 0// 1
for(letelem of['a','b'].values()){
console.log(elem);}// 'a'// 'b'
for(let[index,elem]of['a','b'].entries()){
console.log(index,elem);}// 0 "a"http:// 1 "b"
6.includes表示某個(gè)數(shù)組是否包含給定的值,與字符串的includes方法類似
3.對(duì)象
1.Object.is,一是+0不等于-0,二是NaN等于自身
2.Object.assign方法用于對(duì)象的合并,將源對(duì)象(source)的所有可枚舉屬性,復(fù)制到目標(biāo)對(duì)象(target)。對(duì)于這種嵌套的對(duì)象,一旦遇到同名屬性,Object.assign的處理方法是替換,而不是添加。實(shí)行的是淺拷貝,而不是深拷貝。
3.Object.keys?Object.values?Object.entries
4.Object.fromEntries()方法是Object.entries()的逆操作,用于將一個(gè)鍵值對(duì)數(shù)組轉(zhuǎn)為對(duì)象。