目前,我的情况如下:
let x = 0
[x, error] = divide(1, x)
但是代码是错误的,因为变量error
尚未声明。
如果我在前面放一个let
关键字,它也将是无效的,因为x
已经声明了。
let x = 0
let [x, error] = divide(1, x) // Error
那么,是否有快捷方式或语法糖允许我在元组解构期间声明一些变量,例如以下内容?
let x = 0
[x, let error] = divide(1, x)
我不相信有任何这样的捷径。 你能做的最好的事情就是:
-
在一行上声明所有尚未声明的变量,然后使用普通解构。 这似乎是最神圣的。
let error, another; [x, error, another] = divide(1, x);
-
使用两个解构,一个用于需要声明的变量,另一个用于不需要声明的变量。 但是,当您获取对象的其余部分时,这效果不佳。
let [, error, another] = [x] = divide(1, x);