This question already has answers here:
object destructuring without var
(3个答案)
2年前关闭。
在javascript中,是否仍可以在处理异常的同时执行对象销毁?例如,这是我理想地希望能够执行的语法无效的内容
从我可以看出的选择是:
不要使用对象分解 不处理异常 将销毁范围缩小到try块
是否可以实现对象分解并处理异常?
您可以阅读有关此确切问题here的信息。
(3个答案)
2年前关闭。
在javascript中,是否仍可以在处理异常的同时执行对象销毁?例如,这是我理想地希望能够执行的语法无效的内容
let body;
let err;
try {
{ body } = await networkRequest(...); // invalid syntax
} catch (e) {
err = e;
}
从我可以看出的选择是:
是否可以实现对象分解并处理异常?
最佳答案
您会收到一个解析错误,因为没有声明,对象分解结构分配看起来像是左侧的一个块,而ES2015规范说必须将其解析为一个块。
您可以通过用括号括起来来解决此问题,以便引擎知道它是一个表达式:
let body;
let err;
try {
({ body } = { body: 'test' })
} catch (e) {
err = e;
}
console.log(body);
您可以阅读有关此确切问题here的信息。
09-16 16:55