[英]Typescript treat JS array as object
我有一個 js function 輸出一個包含 3 個數字的數組。 我能否定義一個類型/接口/將數組視為 object 的任何內容。
這樣Somethig.GetVector().X
轉譯成Something.GetVector()[0]
不,TypeScript 轉譯不能那樣工作。
您可以定義擴展數組的 TypeScript 接口:
interface ExtArr extends Array<string> {
extProp?: string
}
const a: ExtArr = ['foo', 'bar', 'baz']
a.extProp = 'quux'
然而,類型信息轉變成一無所有——它只被 TypeScript 使用,而不是 JavaScript。
或者,您可以定義一個 function 將數組轉換為具有友好屬性名稱的 object。 聽起來這可能是您想要的用例:
const makeFriendly = (unfriendlyArray: string[] /* or whatever type */) => {
const [ propName1, propName2, propName3 ] = unfriendlyArray
return { propName1, propName2, propName3 }
}
makeFriendly(['foo', 'bar', 'baz']) // { propName1: "foo", propName2: "bar", propName3: "baz" }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.