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

时间:2019-03-20 23:38:18

标签: javascript object ecmascript-6 destructuring object-destructuring

这似乎是一个愚蠢的问题。说我有一个接受对象的函数。

如何将对象转换为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 个答案:

答案 0 :(得分:4)

您无法做到-只保留... // Check if is 32 bit if (pNtHeader32->OptionalHeader.Magic == IMAGE_NT_OPTIONAL_HDR32_MAGIC) { if (pNtHeader32->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress == 0) return NULL; pIAT = (PIMAGE_IMPORT_DESCRIPTOR)((ULONG_PTR)ModuleBase + pNtHeader32->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); } // Check if is 64 bit else if (pNtHeader64->OptionalHeader.Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC) { if (pNtHeader64->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress == 0) return NULL; pIAT = (PIMAGE_IMPORT_DESCRIPTOR)((ULONG_PTR)ModuleBase + pNtHeader64->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); } ... 作为参数即可使此代码更简单易读:

props

答案 1 :(得分:3)

您可以按照这种方法将参数命名为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});