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.