Enumerasi sebagai Jenis dalam TypeScript

Setiap enumerasi mencipta jenis data tersendiri. Mari kita sebagai contoh untuk pembolehubah yang menyimpan musim semasa, tetapkan jenis Season:

typescriptlet current: Season;

Mari kita catatkan nombor musim ke dalam pembolehubah kita:

typescriptlet current: Season = Season.Winter;
console.log(current); // 0

Anda boleh menyatakan nombor musim secara manual:

typescriptlet current: Season = 3;

Namun, jika cuba merekodkan data jenis lain, contohnya, rentetan, maka akan berlaku ralat:

typescriptlet current: Season = 'str'; // akan berlaku ralat

Malangnya, julat nilai tidak dikesan dan anda boleh merekodkan nombor yang tiada dalam enumerasi kami:

typescriptlet current: Season = 7; // tiada ralat

Apabila disemak menggunakan operator typeof pembolehubah kami akan mengembalikan jenis nombor:

typescriptlet current: Season = 3;
console.log(typeof current); // "number"

Kesimpulannya, boleh dikatakan bahawa jenis sedemikian tidak disemak dengan terlalu ketat dan oleh itu nilainya diragui.