使用TypeScript中的类型进行对象分解

我在用打字稿在Deno中构建一个示例项目,我不得不分解一个对象。我熟悉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

免费下载我的JavaScript初学者手册


更多js教程: