Enumeracija kao tip u TypeScript-u

Svaka enumeracija kreira svoj sopstveni tip podataka. Hajde za primer za promenljivu, koja čuva trenutno godišnje doba dodelimo tip Season:

typescriptlet current: Season;

Zapišimo u našu promenljivu broj godišnjeg doba:

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

Možemo ručno navesti broj godišnjeg doba:

typescriptlet current: Season = 3;

A ako pokušamo da zapišemo podatke drugog tipa, na primer, string, dobićemo grešku:

typescriptlet current: Season = 'str'; // биће грешке

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

typescriptlet current: Season = 7; // неће бити грешке

Pri proveri preko operatora typeof naša promenljiva će vratiti numerički tip:

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

Sumirajući, možemo reći da se ovaj tip proverava ne baš striktno i zbog toga je njegova vrednost upitna.