Enumeracija kao tip u TypeScript-u

Svaka enumeracija kreira svoj sopstveni tip podataka. Hajde da, na primer, za promenljivu koja čuva trenutnu godišnju dob dodelimo tip Season:

typescriptlet current: Season;

Zapišimo u našu promenljivu broj godišnje dobi:

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

Broj godišnje dobi možemo naznačiti ručno:

typescriptlet current: Season = 3;

Ako pokušamo da upišemo podatke drugog tipa, na primer, string, dobićemo grešku:

typescriptlet current: Season = 'str'; // biće greška

Nažalost, opseg vrednosti se ne prati i možemo upisati broj koji ne postoji u našoj enumeraciji:

typescriptlet current: Season = 7; // neće biti greške

Prilikom provere pomoću operatora typeof naša promenljiva će vratiti numerički tip:

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

Da sumiramo, možemo reći da se ovaj tip ne proverava naročito strogo i zbog toga je njegova vrednost upitna.