美文网首页
函数参数的解构赋值

函数参数的解构赋值

作者: 前端阿良古 | 来源:发表于2018-11-02 11:12 被阅读0次
    1. 对象形式的参数
    const fnObj = function({name = '小红'} = {}){
      console.log(name)
    };
    const obj = {
      name: '小明',
      sex: '男'
    }
    fnObj(obj); // 小明
    fnObj({sex: '男'}); // 小红
    fnObj(); // 小红
    

    2.数组形式的参数

    const fnArr = function([x = 1, y = 2] = []){
      console.log(x + y);
    }
    const arr = [5,6,7];
    fnArr(arr); // 11
    fnArr([4]); // 6
    fnArr(); // 3
    

    3.总结:

    • 给每个参数赋初始值,以防函数传参没有对应参数时不会输出undefined
    • 给整一个对象/数组附空值,让函数可以不传参
    • 也可以不给参数赋初始值,不影响正确传参使用,以对象为例,数组同理:
      const fn = function({name}){
        console.log(name);
      }
      fn({name: '不传值'}); // 不传值 
      fn({sex: 1}); // undefined
      fn(); // 报错
      

    相关文章

      网友评论

          本文标题:函数参数的解构赋值

          本文链接:https://www.haomeiwen.com/subject/zpyqxqtx.html