Enum sebagai Tipe dalam TypeScript

Setiap enum membuat tipe data sendiri. Mari kita contohkan untuk variabel yang menyimpan musim saat ini, berikan tipe Season:

typescriptlet current: Season;

Catat dalam variabel kita nomor musim:

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

Nomor musim dapat ditentukan secara manual:

typescriptlet current: Season = 3;

Tapi jika mencoba mencatat data dari tipe lain, misalnya, string, maka akan error:

typescriptlet current: Season = 'str'; // akan error

Sayangnya, rentang nilai tidak dilacak dan dapat mencatat nomor yang tidak ada dalam enum kita:

typescriptlet current: Season = 7; // tidak akan error

Saat diperiksa melalui operator typeof variabel kita akan mengembalikan tipe numerik:

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

Menyimpulkan dapat dikatakan bahwa tipe seperti ini diperiksa tidak terlalu ketat dan karena itu nilainya diragukan.