Tämä opetusohjelma esittelee menettelyn jatkuvien enumien luomiseen JavaScriptissä.
Kuinka voin taata, että enum-määritelmäni ei muutu JavaScriptissä?
Luodaksesi vakio enum ' JavaScriptissä, käytä ' Object.freeze() ”menetelmä. Se tekee objektista muuttumattoman, muuttumattoman tai vain luku -muotoisen. Se estää kohteen ominaisuuksien muuttamisen, kuten objektin attribuuttien lisäämisen tai poistamisen tai olemassa olevien ominaisuuksien arvojen päivittämisen.
Esimerkki
Luo ensin luettelo ' Koko ' käyttäen objektiliteraaleja, joissa objektin ominaisuudet ovat isoilla kirjaimilla:
konst Koko = {
PIENI : 'pieni' ,
MEDIUM : 'keskikokoinen' ,
SUURI : 'suuri'
} ;
Soita ' Object.freeze() ' -menetelmää ja välitä enum argumenttina, jotta enum-määritelmä ei muutu:
Esine . jäädyttää ( Koko ) ;
Tulosta luettelo nimeltä ' Koko ' konsolissa:
konsoli. Hirsi ( Koko ) ;
Lähtö
Täällä saamme vain objektin ominaisuuksien tai enum-arvot käyttämällä ' Object.values() ' -menetelmää ja näytä kaikki konsolin kunkin attribuutin arvot:
konst koko = Esine . arvot ( Koko ) ;
konsoli. Hirsi ( koko ) ;
Tulos näyttää enumin arvojen joukon:
Nyt yritämme lisätä uuden vakion ' XLARGE 'arvollaan' xlarge ” enum-objektiin ja tulosta objekti konsoliin:
Koko. XLARGE = 'iso' ;konsoli. Hirsi ( Koko ) ;
Tulos osoittaa, että uutta vakiota ei ole lisätty enum-objektiin:
Muutetaan tai päivitetään nyt vakion arvoa PIENI ' kuten ' sm ':
Koko. PIENI = 'sm' ;Tulosta enum-objektien vakioiden arvot 'Object.values()'-menetelmällä:
konst koko = Esine . arvot ( Koko ) ;konsoli. Hirsi ( koko ) ;
Se ei päivitä vakion 'SMALL' arvoa:
Kun et käytä ' Object.freeze() ” -menetelmällä voit helposti muokata kohteen ominaisuuksia:
Tällä oli tarkoitus taata, että enum-määritykset eivät muutu JavaScriptissä.
Johtopäätös
jatkuvan ' enum ' JavaScriptissä, käytä ' Object.freeze() ” menetelmä, joka estää enumvakioiden lisäämisen tai poistamisen tai olemassa olevien vakioiden arvojen päivittämisen. Se tekee esineestä muuttumattoman tai muuttumattoman. Tämä opetusohjelma esitteli menettelyn jatkuvien enumien luomiseen JavaScriptissä.