我在Deno中使用TypeScript来建立一个示例项目,我不得不对一个对象进行解构。我对TypeScript的基础知识很熟悉,但有时会遇到问题。
对象重构就是其中之一。
我想做的是
const { name, age } = body.value
我试着像这样添加string 和number 类型。
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