Какой синтаксис JavaScript для приведения и деструктуризации параметра? - PullRequest
2 голосов
/ 21 марта 2019

Это похоже на глупый вопрос.Скажем, у меня есть функция, которая принимает объект.Как я могу привести этот объект как 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});

Ответы [ 2 ]

4 голосов
/ 21 марта 2019

Вы не можете сделать это - просто сохраните props в качестве аргумента, чтобы сделать этот код проще и легче для чтения:

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

go({id: 2});
3 голосов
/ 21 марта 2019

Вы можете следовать этому подходу, который называет параметр как подпорки и разрушает его, чтобы извлечь значение 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});
...