在TypeScript中元组解构期间是否可以创建SOME变量?

时间:2018-09-13 03:05:56

标签: typescript

目前,我的情况如下:

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)

1 个答案:

答案 0 :(得分:1)

我不相信有任何这样的捷径。您能做的最好的事情是:

  1. 在一行上声明所有尚未声明的变量,然后使用简单的解构。这似乎是最神圣的。

    let error, another;
    [x, error, another] = divide(1, x);
    
  2. 使用两种解构,一种用于需要声明的变量,另一种用于不需要的变量。但是,当您拿走对象的其余部分时,效果就不太好。

    let [, error, another] = [x] = divide(1, x);