Hur kan jag garantera att definitionen av min enums inte ändras i JavaScript?

Hur Kan Jag Garantera Att Definitionen Av Min Enums Inte Andras I Javascript



Uppräkningar är ett produktivt sätt att ange en grupp av namngivna värden som representerar en viss kategori av data, t.ex. Veckodagar ”. Det finns inga fördefinierade ' uppräkningar ” i JavaScript, så utvecklare kan implementera det med hjälp av objektet eller en samling konstanter. Det är viktigt att se till att definitionen av ett enum (objektets egenskaper) inte kan ändras för att garantera att en enumdefinition i JavaScript förblir oförändrad.

Denna handledning kommer att demonstrera proceduren för att skapa konstanta enums i JavaScript.

Hur kan jag garantera att min Enums-definition inte ändras i JavaScript?

Att skapa en konstant ' uppräkning ' i JavaScript, använd ' Object.freeze() 'metoden. Det gör ett objekt oföränderligt, oföränderligt eller skrivskyddat. Det förhindrar ändring av objektets egenskaper, till exempel att lägga till eller ta bort objektattribut, eller att uppdatera värden för befintliga egenskaper.







Exempel
Skapa först en enum ' Storlek ” med hjälp av objektliterals där objektets egenskaper kommer att vara i versaler:



konst Storlek = {
SMÅ : 'små' ,
MEDIUM : 'medium' ,
STOR : 'stor'
} ;

Ring ' Object.freeze() ”-metoden och skicka enum som ett argument för att göra enumdefinitionen oföränderlig:



Objekt . frysa ( Storlek ) ;

Skriv ut uppräkningen med namnet ' Storlek ” på konsolen:





trösta. logga ( Storlek ) ;

Produktion

Här får vi bara värdena för objektegenskaperna eller enum med hjälp av ' Object.values() ”-metoden och visa alla värden mot varje attribut på konsolen:



konst storlek = Objekt . värden ( Storlek ) ;
trösta. logga ( storlek ) ;

Utdata visar uppsättningen av värden för enum:

Nu ska vi försöka lägga till en ny konstant ' EXTRA STOR 'med dess värde' extra stor ” till enum-objektet och skriv ut objektet på konsolen:

Storlek. EXTRA STOR = 'extra stor' ;
trösta. logga ( Storlek ) ;

Utdata visar att den nya konstanten inte läggs till i enum-objektet:

Låt oss nu ändra eller uppdatera värdet på konstanten ' SMÅ ' som ' sm ”:

Storlek. SMÅ = 'sm' ;

Skriv ut värdena för konstanterna för enum-objekten med metoden 'Object.values()':

konst storlek = Objekt . värden ( Storlek ) ;
trösta. logga ( storlek ) ;

Det kommer inte att uppdatera värdet på konstanten 'SMALL':

När du inte använder ' Object.freeze() ”-metoden kan du enkelt ändra objektets egenskaper:

Det var allt på väg att garantera att enums definition inte ändras i JavaScript.

Slutsats

För att skapa en konstant ' uppräkning ' i JavaScript, använd ' Object.freeze() ” metod som förhindrar att lägga till eller ta bort enumkonstanter eller att uppdatera värdena för de befintliga konstanterna. Det gör ett objekt oföränderligt, eller oföränderligt. Denna handledning demonstrerade proceduren för att skapa konstanta enums i JavaScript.