1.函数
1.ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面
functionlog(x,y='World') { console.log(x,y); }
2.函数的name属性,返回该函数的函数名
3.ES6 允许使用“箭头”(=>)定义函数
var sum=(num1,num2)=>num1+num2;
4.try catch 可以忽略参数
2.数组
1.扩展运算符复制数组
const a1=[1,2];
// 写法一 const a2=[...a1];
// 写法二 const[...a2]=a1;
2.扩展运算符合并数组
const a1=[{foo:1}];
const a2=[{bar:2}];
const a3=a1.concat(a2);
const a4=[...a1,...a2];
3.扩展运算符字符串长度
function length (str) { return[...str].length; }
4.fill方法使用给定值,填充一个数组
5.ES6 提供三个新的方法——entries(),keys()和values()——用于遍历数组。它们都返回一个遍历器对象(详见《Iterator》一章),可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历
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"// 1 "b"
6.includes表示某个数组是否包含给定的值,与字符串的includes方法类似
3.对象
1.Object.is,一是+0不等于-0,二是NaN等于自身
2.Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。对于这种嵌套的对象,一旦遇到同名属性,Object.assign的处理方法是替换,而不是添加。实行的是浅拷贝,而不是深拷贝。
3.Object.keys Object.values Object.entries
4.Object.fromEntries()方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。