Javascript (Node.js)将json解构为现有变量。

问题描述 投票:0回答:1

我想知道是否可以在一个方法中声明一次变量,然后多次重用它们来捕获反结构的返回值。

例如,我可以在方法中声明一次变量,然后多次重用它们,以获取解构返回值。

  function verifyStatusAsSignedIn(url, cred){

     // code truncated

     return { 'error' : false, 'status': true }
  }

我可以同时进行声明和解构JSON。

 const { error , status } = verifyStatusAsSignedIn(url, cred);

但是我有更多的方法,我调用这些方法也会像'verifyStatusAsSignedIn()'方法一样,返回带有错误和状态的JSON。

我最好能做到这一点。

  let error, status;

  { error, status } = verifyStatusAsSignedIn(url, cred);

  //  handle or respond to error and status.

  { error, status } = nextStep(val1, val2);

  // handle or respond to error and status

但这给了我一个 "声明或声明预期 "的lint警告。

是否可以重用现有的变量来重构一个json对象?

javascript node.js destructuring
1个回答
4
投票

你只需要像这样用parens包围它,就可以分配给现有的变量。

let error, status;
({ error, status } = verifyStatusAsSignedIn(url, cred));

这是因为如果没有这些参数,Javascript就会认为 { 是一个新块作用域的开始。 这显然是一个地方的解构赋值语法与现有的语法规则发生了冲突,所以需要用parens变通一下才能这样使用。

你可以看到MDN对这种情况的描述 此处.

© www.soinside.com 2019 - 2024. All rights reserved.