See õpetus tutvustab JavaScriptis pidevate loendite loomise protseduuri.
Kuidas ma saan garanteerida, et minu enumi definitsioon JavaScriptis ei muutu?
Konstantse ' enum ' JavaScriptis kasutage ' Object.freeze() ” meetod. See muudab objekti muutumatuks, muutmatuks või kirjutuskaitstuks. See takistab objekti atribuutide muutmist, näiteks objekti atribuutide lisamist või eemaldamist või olemasolevate atribuutide väärtuste värskendamist.
Näide
Esiteks looge loend ' Suurus ” kasutades objektiliteraale, kus objekti omadused on suurtähtedega:
konst Suurus = {
VÄIKE : 'väike' ,
KESKMINE : 'keskmine' ,
SUUR : 'suur'
} ;
Helistage ' Object.freeze() ” meetod ja edastage enum argumendina, et muuta loendi määratlus muutumatuks:
Objekt . külmutada ( Suurus ) ;
Printige loend nimega ' Suurus ” konsoolil:
konsool. logi ( Suurus ) ;
Väljund
Siin saame ainult objekti omaduste või enumi väärtused, kasutades ' Object.values() ” meetodit ja kuvage kõik konsooli iga atribuudi väärtused:
konst suurus = Objekt . väärtused ( Suurus ) ;
konsool. logi ( suurus ) ;
Väljund näitab enumi väärtuste massiivi:
Nüüd proovime lisada uue konstandi ' XSUUR ' oma väärtusega ' xsuur ” enum-objektile ja printige objekt konsoolile:
Suurus. XSUUR = 'suur' ;konsool. logi ( Suurus ) ;
Väljund näitab, et uut konstanti enum-objekti ei lisata:
Nüüd muudame või värskendame konstandi väärtust VÄIKE ” kui „ sm ”:
Suurus. VÄIKE = 'sm' ;Printige enum-objektide konstantide väärtused meetodil 'Object.values()':
konst suurus = Objekt . väärtused ( Suurus ) ;konsool. logi ( suurus ) ;
See ei värskenda konstandi 'SMALL' väärtust:
Kui te ei kasuta ' Object.freeze() ” meetodil saate hõlpsalt muuta objekti omadusi:
Selle eesmärk oli tagada, et enumi definitsioon JavaScriptis ei muutu.
Järeldus
Konstantse ' enum ' JavaScriptis kasutage ' Object.freeze() ” meetod, mis takistab loendikonstantide lisamist või eemaldamist või olemasolevate konstantide väärtuste värskendamist. See muudab objekti muutumatuks või muutumatuks. See õpetus demonstreeris pidevate loendite loomise protseduuri JavaScriptis.