我想知道是否可以在一个方法中声明一次变量,然后多次重用它们来捕获反结构的返回值。
例如,我可以在方法中声明一次变量,然后多次重用它们,以获取解构返回值。
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对象?
你只需要像这样用parens包围它,就可以分配给现有的变量。
let error, status;
({ error, status } = verifyStatusAsSignedIn(url, cred));
这是因为如果没有这些参数,Javascript就会认为 {
是一个新块作用域的开始。 这显然是一个地方的解构赋值语法与现有的语法规则发生了冲突,所以需要用parens变通一下才能这样使用。
你可以看到MDN对这种情况的描述 此处.