Kuinka voin taata, että enum-määritelmäni ei muutu JavaScriptissä?

Kuinka Voin Taata Etta Enum Maaritelmani Ei Muutu Javascriptissa



Enummit ovat tuottava tapa määrittää ryhmä nimettyjä arvoja, jotka edustavat tiettyä tietoluokkaa, kuten ' Viikonpäivät ”. Ei ole ennalta määritettyjä ' enums ” JavaScriptissä, joten kehittäjät voivat toteuttaa sen käyttämällä objektia tai vakioiden kokoelmaa. On tärkeää varmistaa, että enumin määritelmää (objektin ominaisuuksia) ei voida muuttaa, jotta voidaan taata, että enum-määritelmä JavaScriptissä pysyy muuttumattomana.

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ä.