转换和解构参数的 JavaScript 语法是什么?

What's the JavaScript syntax to cast and destructure a param?

这似乎是一个愚蠢的问题。假设我有一个接受对象的函数。我如何将该对象转换为 props,并将 props.id 解构为 id(在参数声明中)?

function go ({ id }) {
  const props = arguments[0]; // how to do this with destructure?
  console.log('props', props, 'id', id);
}

go({id: 2});

你做不到 - 只需将 props 也保留为参数即可使此代码更简单易读:

function go (props) {
  const { id } = props;
  console.log('props', props, 'id', id);
}

go({id: 2});

您可以按照这种方法将参数命名为 props 并解构该参数以提取 Id 的值。

当你需要传递一个额外的参数时,问题就来了。

function go (props, {id} = props) {
  //const props = arguments[0]; // how to do this with destructure?
  console.log('props', props, 'id', id);
}

go({id: 2});