ES6函数
1,带参数默认函数
function add(a=10,b=20){
return a+b;
}
add();
2,默认表达式也可以是个表达式
function getVal(val){
return val + 5
}
function add(a=10,b=getVal(5)){
return a+b;
}
add(10);
注意:这个getVal是惰性的,如果传值了,表达式不会执行,
3,剩余参数 es5使用arguments es6 有三个...和一个紧跟着的具名参数制定 ...keys 放在后面;解决了arguments;
let book = {
title:'es6的教程',
author:'小马哥',
year:2022
}
function pick(obj,...keys){
let result = Object.create(null);
for(let i = 0;i<keys.length;I++){
result [keys[i]] = obj[[keys[i]];
}
}
pick(book,'title');
4 扩展运算符...
剩余运算符: 把多个独立的合并到一个数组;
扩展运算符: 将一个数组分割,并将各个项作为分离的参数传递给函数
处理数组中的最大值
const arr = [10,20,30,60,100,50];
Math.max(...arr ); ES6写法更方便;
Math.max.apply(null,arr); ES5写法
5 ES的箭头函数
let add = (a,b)=>{
return a+ b;
}
let add = var => var ; 一个参数写法
let add = var => (var + 5) ;
let add = (var1,var2)=> (var1+var2); 或 let add = (var1,var2)=> var1+var2;
let fn = ()=> 'hello world' 无参数
let getObj = id => ({id:id,name:'haha'}) 对象