Enum si tip në TypeScript

Çdo enum krijon tipin e vet të të dhënave. Le të përdorim si shembull një ndryshore që ruan stinën aktuale dhe t'i caktojmë tipin Season:

typescriptlet current: Season;

Të shkruajmë në ndryshoren tonë numrin e stinës:

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

Mund të specifikohet numri i stinës manualisht:

typescriptlet current: Season = 3;

Por nëse përpiqemi të regjistrojmë të dhëna të tipit tjetër, për shembull, një varg, do të ketë gabim:

typescriptlet current: Season = 'str'; // do të ketë gabim

Fatkeqësisht, diapazoni i vlerave nuk gjurmohet dhe mund të regjistrohet një numër që mungon në enum-in tonë:

typescriptlet current: Season = 7; // nuk do të ketë gabim

Gjatë kontrollit përmes operatorit typeof ndryshorja jonë do të kthejë tipin numerik:

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

Duke përmbledhur mund të thuhet se ky tip nuk kontrollohet shumë rreptësisht dhe për këtë arsye vlera e tij është e diskutueshme.