首页 > 解决方案 > 是否可以在 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)

标签: typescript

解决方案


我不相信有这样的捷径。你能做的最好的就是:

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

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

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

推荐阅读