zoukankan      html  css  js  c++  java
  • 【ES6 】ES6 解构赋值--函数参数解构赋值

    • 函数的参数也可以使用解构赋值。
      function add([x, y]){
        return x + y;
      }
      
      add([1, 2]); // 3

      上面代码中,函数add的参数表面上是一个数组,但在传入参数的那一刻,数组参数就被解构成变量xy。对于函数内部的代码来说,它们能感受到的参数就是xy

    • [[1, 2], [3, 4]].map(([a, b]) => a + b);

    默认值

    • function move({x = 0, y = 0} = {}) {
        return [x, y];
      }
      
      move({x: 3, y: 8}); // [3, 8]
      move({x: 3}); // [3, 0]
      move({}); // [0, 0]
      move(); // [0, 0]

      上面代码中,函数move的参数是一个对象,通过对这个对象进行解构,得到变量xy的值。如果解构失败,xy等于默认值。

    • function move({x, y} = { x: 0, y: 0 }) {
        return [x, y];
      }
      
      move({x: 3, y: 8}); // [3, 8]
      move({x: 3}); // [3, undefined]
      move({}); // [undefined, undefined]??????
      move(); // [0, 0]??????

      上面代码是为函数move的参数指定默认值,而不是为变量xy指定默认值,所以会得到与前一种写法不同的结果。

    • [1, undefined, 3].map((x = 'yes') => x);
      // [ 1, 'yes', 3 ]

      undefined就会触发函数参数的默认值。

        
  • 相关阅读:
    SQL 执行进展优化
    初识SQL 执行顺序
    前端模块化开发的价值(转)
    js 闭包之一
    js模块开发(一)
    简单说说call 与apply
    js 爱恨情仇说 this
    说说 js String
    $Ajax简单理解
    SQL-如何使用 MongoDB和PyMongo。
  • 原文地址:https://www.cnblogs.com/websmile/p/11528591.html
Copyright © 2011-2022 走看看