TypeScript 元組型別

antzone發表於2017-07-22

TypeScript元組與陣列有點類似,關於陣列可以參閱TypeScript 陣列型別一章節。

陣列有一個限制,那就是陣列元素型別是單一的,程式碼例項如下:

[typescript] 純文字檢視 複製程式碼
var arr:Array<string> = ["螞蟻部落","青島市南區","分享互助"];

陣列中的內容只能是字串,否則會報錯。

元組則可以很好的解決此問題,它允許表示一個已知元素數量和型別的陣列,各元素的型別不必相同。

程式碼例項:

[typescript] 純文字檢視 複製程式碼
let x: [string, number];
x = ['螞蟻部落', 5]

中括號中規定陣列中資料的型別和順序,再來看一段程式碼例項:

[typescript] 純文字檢視 複製程式碼
let x: [string, number];
x = [5,'螞蟻部落']

陣列中的資料型別必須和規定的型別順序對應起來。

[typescript] 純文字檢視 複製程式碼
let x: [string, number];
x = ['螞蟻部落', 5];
x[1].toFixed()

通過索引可以訪問陣列的元素,然後可以呼叫對應型別資料的方法或者屬性。

[typescript] 純文字檢視 複製程式碼
let x: [string, number];
x = ['螞蟻部落', 5];
x[3]="青島市南區";

當使用越界索引給陣列賦值的時候,會使用聯合型別(只要值是規定型別的某一種即可)。

[typescript] 純文字檢視 複製程式碼
let x: [string, number];
x = ['螞蟻部落', 5];
x[3]=true;

程式碼會報錯,因為true既不是字串型別也不是數值型別。

相關文章