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