在TypeScript中用类型对对象进行重构的方法

50 阅读1分钟

我在Deno中使用TypeScript来建立一个示例项目,我不得不对一个对象进行解构。我对TypeScript的基础知识很熟悉,但有时会遇到问题。

对象重构就是其中之一。

我想做的是

const { name, age } = body.value

我试着像这样添加stringnumber 类型。

const { name: string, age: number } = body.value

但这并不奏效。表面上看是成功了,但实际上这是把name 属性分配给string 变量,而把age 属性值分配给number 变量。

正确的语法是这样的。

const { name, age }: { name: string; age: number } = body.value

处理这个问题的最好方法是为该数据创建一个类型或接口。

interface Dog {
  name: string
  age: number
}

然后你可以这样写上面的内容,这样就比较短。

const dog: Dog = body.value