Enumerasie as tipe in TypeScript

Elke enumerasie skep sy eie datatipe. Kom ons, byvoorbeeld, aan die veranderlike wat die huidige seisoen stoor, die tipe Season toewys:

typescriptlet current: Season;

Laat ons die seisoennommer in ons veranderlike aanteken:

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

Jy kan die seisoennommer met die hand spesifiseer:

typescriptlet current: Season = 3;

Maar as jy probeer om data van 'n ander tipe, bv. 'n string, op te teken, sal daar 'n fout wees:

typescriptlet current: Season = 'str'; // daar sal 'n fout wees

Ongelukkig word die waardereeks nie nagegaan nie en jy kan 'n nommer opskryf wat nie in ons enumerasie voorkom nie:

typescriptlet current: Season = 7; // daar sal geen fout wees nie

Tydens kontrole met die typeof operateur sal ons veranderlike die numeriese tipe teruggee:

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

Om op te som, kan ons sê dat so 'n tipe nie baie streng nagegaan word nie en die waarde daarvan is twyfelagtig.