最近,我使用 TypeScriptDeno 中建立了一個範例專案,並且需要對一個物件進行解構。我對 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