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'})  对象

 

 

 

 

 

 

 

posted @ 2022-05-06 07:55  博星  阅读(32)  评论(0编辑  收藏  举报