Ako môžem zaručiť, že definícia mojich enumov sa v JavaScripte nezmení?

Ako Mozem Zarucit Ze Definicia Mojich Enumov Sa V Javascripte Nezmeni



Enumy predstavujú produktívny spôsob, ako špecifikovať skupinu pomenovaných hodnôt, ktoré predstavujú určitú kategóriu údajov, ako napríklad „ Dni v týždni “. Neexistujú žiadne preddefinované „ enumy ” v JavaScripte, takže vývojári ho môžu implementovať pomocou objektu alebo kolekcie konštánt. Je dôležité zabezpečiť, aby sa definícia enumu (vlastnosti objektu) nedala upraviť, aby sa zaručilo, že definícia enum v JavaScripte zostane nezmenená.

Tento tutoriál ukáže postup vytvárania konštantných enumov v JavaScripte.

Ako môžem zaručiť, že sa definícia mojich enumov v JavaScripte nezmení?

Na vytvorenie konštanty „ enum “ v JavaScripte použite „ Object.freeze() “. Robí objekt nemenným, nemenným alebo len na čítanie. Zabraňuje modifikácii vlastností objektu, ako je pridávanie alebo odstraňovanie atribútov objektu alebo aktualizácia hodnôt existujúcich vlastností.







Príklad
Najprv vytvorte enum ' Veľkosť ” pomocou objektových literálov, kde vlastnosti objektu budú veľké:



konšt Veľkosť = {
MALÝ : 'malý' ,
STREDNÝ : 'stredne' ,
VEĽKÝ : 'veľký'
} ;

Zavolajte na „ Object.freeze() ” a odovzdajte enum ako argument, aby bola definícia enum nezmeniteľná:



Objekt . zmraziť ( Veľkosť ) ;

Vytlačte zoznam s názvom „ Veľkosť “ na konzole:





konzoly. log ( Veľkosť ) ;

Výkon

Tu získame iba hodnoty vlastností objektu alebo enum pomocou „ Object.values() ” a zobrazte všetky hodnoty pre každý atribút na konzole:



konšt veľkosť = Objekt . hodnoty ( Veľkosť ) ;
konzoly. log ( veľkosť ) ;

Výstup zobrazuje pole hodnôt enum:

Teraz sa pokúsime pridať novú konštantu “ XLARGE “so svojou hodnotou” xlarge ” do objektu enum a vytlačte objekt na konzole:

Veľkosť. XLARGE = 'xlarge' ;
konzoly. log ( Veľkosť ) ;

Výstup ukazuje, že nová konštanta nie je pridaná do objektu enum:

Teraz zmeňme alebo aktualizujme hodnotu konštanty „ MALÝ “ ako “ sm “:

Veľkosť. MALÝ = 'sm' ;

Vytlačte hodnoty konštánt objektov enum pomocou metódy „Object.values()“:

konšt veľkosť = Objekt . hodnoty ( Veľkosť ) ;
konzoly. log ( veľkosť ) ;

Neaktualizuje hodnotu konštanty „SMALL“:

Pri nepoužívaní „ Object.freeze() “, môžete jednoducho upraviť vlastnosti objektu:

To všetko malo zaručiť, že definícia enumov sa v JavaScripte nezmení.

Záver

Na vytvorenie konštanty „ enum “ v JavaScripte použite „ Object.freeze() ” metóda, ktorá zabraňuje pridávaniu alebo odstraňovaniu enumových konštánt alebo aktualizácii hodnôt existujúcich konštánt. Robí objekt nemenným alebo nemenným. Tento tutoriál demonštroval postup vytvárania konštantných enumov v JavaScripte.