代码之家  ›  专栏  ›  技术社区  ›  jhpratt

将类型赋给也被重命名的解构变量

  •  2
  • jhpratt  · 技术社区  · 7 年前

    如何在分配新变量名时使用解构赋值 设置类型?这里有一个例子:

    const {
      Script: script, // string
      EstimatedDuration: estimated_duration, // number
      ActualDuration: actual_duration, // number
    } = response.data[0];
    

    我的第一反应是 <string> as string 对RHS来说,这不管用。尝试其他变体也失败了。

    这是可能的吗,还是我可以检查这些变量的类型?我想用解构而不是 const script: string = response.data[0].Script 类似的。

    1 回复  |  直到 7 年前
        1
  •  1
  •   y2bd    7 年前

    如果你愿意把所有东西打两遍,你就可以做到。

    // replace with your response object above
    declare const responseObject: {
        Script: any,
        EstimatedDuration: any,
        ActualDuration: any,
    };
    
    const {
        Script: script,
        EstimatedDuration: estimated_duration,
        ActualDuration: actual_duration,
    }: { 
        Script: string, 
        EstimatedDuration: number, 
        ActualDuration: number 
    } = responseObject;
    
    console.log(script, estimated_duration, actual_duration);
    

    在这一点上,尽管您只是在编写实际的类型声明,所以您也可以将该类型设置为 interface 方便出入的地方。