代码之家  ›  专栏  ›  技术社区  ›  Edward Tanguay

箭头函数如何将参数接收为同时具有属性和默认参数的对象?

  •  0
  • Edward Tanguay  · 技术社区  · 3 年前

    有人能帮我理解下面的代码吗?

    const doit = ({
        left: Left,
        right: Right,
        leftWeight = 1,
        rightWeight = 1
    }) => {
        console.log(Left, Right, leftWeight, rightWeight);
    };
    
    doit({ left: '111', leftWeight: 2});

    传递默认参数似乎有两种方式,并且以某种方式涉及到破坏赋值,但我如何分解才能理解它?

    附录1

    好吧,这似乎不是默认参数和箭头函数的问题,而是简单的对象破坏:

    const { left: Left, right: Right, leftWeight = 1, rightWeight = 1 } = { left: "111", leftWeight: 2 };
    console.log(Left, Right, leftWeight, rightWeight);

    附录2

    此代码给出了相同的结果:

    const { Left, Right, leftWeight = 1, rightWeight = 1 } = { Left: "111", leftWeight: 2 };
    console.log(Left, Right, leftWeight, rightWeight);

    Object destructuring 显然可以选择重命名变量:

    enter image description here

    0 回复  |  直到 3 年前