Šajā apmācībā tiks parādīta procedūra pastāvīgu enumu izveidei JavaScript.
Kā es varu garantēt, ka mana Enums definīcija nemainās JavaScript?
Lai izveidotu nemainīgu enum ' JavaScript, izmantojiet ' Object.freeze() ” metode. Tas padara objektu nemainīgu, nemaināmu vai tikai lasāmu. Tas neļauj mainīt objekta rekvizītus, piemēram, pievienot vai noņemt objekta atribūtus vai atjaunināt esošās īpašības.
Piemērs
Vispirms izveidojiet sarakstu ' Izmērs ” izmantojot objektu literāļus, kur objekta īpašības būs ar lielajiem burtiem:
konst Izmērs = {
MAZS : 'mazs' ,
VIDĒJS : 'vidējs' ,
LIELS : 'liels'
} ;
Zvaniet uz ' Object.freeze() ” metodi un nododiet enum kā argumentu, lai padarītu enum definīciju nemaināmu:
Objekts . iesaldēt ( Izmērs ) ;
Izdrukājiet sarakstu ar nosaukumu ' Izmērs ” konsolē:
konsole. žurnāls ( Izmērs ) ;
Izvade
Šeit mēs iegūsim tikai objekta rekvizītu vai enum vērtības, izmantojot “ Object.values() ” metodi un parādīt visas vērtības katram konsoles atribūtam:
konst Izmērs = Objekts . vērtības ( Izmērs ) ;
konsole. žurnāls ( Izmērs ) ;
Izvade parāda enum vērtību masīvu:
Tagad mēs mēģināsim pievienot jaunu konstanti ' XLARGE 'ar tās vērtību' xlarge ” uz enum objektu un izdrukājiet objektu konsolē:
Izmērs. XLARGE = 'liels' ;konsole. žurnāls ( Izmērs ) ;
Izvade parāda, ka jaunā konstante nav pievienota enum objektā:
Tagad mainīsim vai atjaunināsim konstantes vērtību MAZS 'kā' sm ”:
Izmērs. MAZS = 'sm' ;Izdrukājiet enum objektu konstantu vērtības, izmantojot metodi “Object.values()”:
konst Izmērs = Objekts . vērtības ( Izmērs ) ;konsole. žurnāls ( Izmērs ) ;
Tas neatjauninās konstantes “SMALL” vērtību:
Kamēr neizmantojat ' Object.freeze() ” metodi, varat viegli modificēt objekta īpašības:
Tas bija paredzēts, lai garantētu, ka enums definīcija nemainās JavaScript.
Secinājums
Lai izveidotu nemainīgu enum ' JavaScript, izmantojiet ' Object.freeze() ” metode, kas neļauj pievienot vai noņemt enum konstantes vai atjaunināt esošās konstantes. Tas padara objektu nemainīgu vai nemaināmu. Šajā apmācībā tika parādīta procedūra pastāvīgu enumu izveidei JavaScript.