1. 程式人生 > 其它 >TypeScript: 元組型別(tuple)和列舉型別(enum)

TypeScript: 元組型別(tuple)和列舉型別(enum)

技術標籤:TypeScripttypescript

目錄




1. 元組型別(tuple)


元組型別屬於陣列型別的一種,允許表示一個已知元素數量和型別的陣列,各元素的型別不必相同。

let arr:[number, boolean, string] = [3.14, true, "hello"];

當訪問一個已知索引的元素,會得到正確的型別。

let arr:[number, boolean, string] = [3.14, true, "hello"];

arr[2].
substring(1, 4); // ell arr[1].substring(1, 4); // 報錯,布林值沒有 substring 方法



2. 列舉型別(enum)


列舉型別可以為一組數值賦予友好的名字,常用來定義一些識別符號,方式如下

// 定義一個列舉型別 mysex
enum mysex {
    man = 1,
    woman = 2,
    unknow = 3,
};

// 宣告 jack 變數為列舉型別 mysex 中的 man
let jack:mysex = mysex.man;

console.log(jack);

編譯成功後,輸出結果如下

與 JavaScript 同理,也可以直接輸出列舉型別的值。

// 定義一個列舉型別 mysex
enum mysex {
    man = 1,
    woman = 2,
    unknow = 3,
};

console.log(mysex.unknow);

結果如下

如果定義一個列舉型別時,全部不進行賦值。則列舉型別中的值,就是對應的索引值。

enum fruit {
    apple,
    pear,
    banana,
};

console.log(fruit.banana);

輸出結果如下:

沒有賦值的情況下,下一項的值為:上一項的值 + 1,所以如果中間某一項擁有值,則會影響後面未賦值的項。

enum fruit {
apple, pear = 9, banana, }; console.log(fruit.banana);

結果如下

如果 pear 賦值為其他型別,則 banana 必須賦值,否則會報錯。