Enumerācija kā tips TypeScript

Katra enumerācija izveido savu pašu datu tipu. Pieņemsim, piemēram, mainīgajam, kurā glabājas pašreizējā sezona, piešķirsim tipu Season:

typescriptlet current: Season;

Ierakstīsim mūsu mainīgajā sezonas numuru:

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

Sezonas numuru var norādīt manuāli:

typescriptlet current: Season = 3;

Bet, ja mēģināsim ierakstīt cita tipa datus, piemēram, virkni, tad radīsies kļūda:

typescriptlet current: Season = 'str'; // radīsies kļūda

Diemžēl vērtību diapazons netiek izsekots, un var ierakstīt numuru, kas nav mūsu enumerācijā:

typescriptlet current: Season = 7; // kļūda neradīsies

Pārbaudot ar operatoru typeof, mūsu mainīgais atdos skaitlisko tipu:

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

Rezumējot var teikt, ka šāda tipa pārbaude nav īpaši stingra, un tāpēc tā vērtība ir apšaubāma.