Hva er enumerbare egenskaper i JavaScript

Hva er enumerbare egenskaper i JavaScript
Enumable eiendom”Er en eiendom som kan hentes og loopes gjennom å bruke en“for i”Loop eller“Gjenstand.nøkler ()”Metode. Som standard er alle egenskapene til et objekt opphever, men å gjøre egenskaper som ikke er effektivt kan forhindre at de blir endret eller slettet ved et uhell og gjør koden mer lesbar. Hvis objektets egenskaper er satt til ikke-effektivt, vil ikke denne egenskapen bli returnert av "for ... in" -løyfen eller objektet.Keys () -metode.

Denne bloggen vil demonstrere de enumerbare egenskapene i JavaScript.

Hva er enumerbare egenskaper i JavaScript?

I JavaScript er en oppslukende eiendom en egenskap til et objekt som kan nås og loopes gjennom å bruke en "for i”Loop eller“Gjenstand.nøkler ()”Metode. Alle egenskaper/nøkler til et objekt som er opprettet av eiendomsinitialisator eller enkel tildeling er enumerbare med mindre de eksplisitt/spesifikt er satt til ikke-effektivt ved å bruke "Gjenstand.DefineProperty ()”Metode og dens attributt“enumerable: falsk”.

For å bekrefte om objektegenskapene er enumerbare eller ikke-effektive, bruk "EiendomSenumable ()”Metode. Det gir en boolsk verdi “ekte”, Hvis den medfølgende egenskapen er oppbevarbar annet, sendes den ut”falsk”.

Eksempel

Lag et objekt “student”Og definere egenskapene deres som er som standard, enumerbare egenskaper:

const student =
Navn: 'Steven',
Alder: 18,
Standard: 9
;

Lag en ikke-effektivable egenskap av objektet "student" bruker Gjenstand.DefineProperty ()”Metode ved å sette den enumable attributtet til“falsk”:

Gjenstand.DefineProperty (student, 'hobby',
Verdi: "Cricket",
enumerable: falsk,
);

Lag en annen enumerbar egenskap til objektet ved å sette sitt “enumable" tilskrive "ekte”:

Gjenstand.DefineProperty (Student, 'Rollno',
Verdi: 15,
enumerable: sant,
);

Sjekk de "enumerbare" og "ikke-aktulige" egenskapene til objektet ved å bruke "EiendomSenumable ()”Metode:

konsoll.Logg ("'Navn" er enumerable " + student.EiendomSenumable ('Navn'));
konsoll.Logg ("'Age' er enumerable" + student.EiendomSenumable ('alder'));
konsoll.Logg ("'Standard' er enumerable" + student.EiendomSenumable ('Standard'));
konsoll.logg ("'hobby' er enumerable" + student.EiendomSenumable ('Hobby'));
konsoll.logg ("'rollno' er enumerable" + student.EiendomSenumable ('Rollno'));

Som du kan se “Hobby”Vises som“falsk”, Det betyr at det er ikke-effektivable egenskaper til objektet”student”:

Du kan også bekrefte at objektegenskapene er enumerbare eller ikke-effektivt ved å bruke "for i”Loop eller“Gjenstand.nøkler ()”Metode. Fordi disse metodene bare itererer de enumable egenskapene og ikke vurderer de ikke-aktugerbare.

Ring "for i”Loop for å skrive ut alle tastene til objektet:

for (const nøkkel i student)
konsoll.logg (tast);

Det kan observeres at "Hobby”Er ikke iterert av for… i loop, da det er ikke-aktuelt eiendom:

Nå, bruk "Gjenstand.nøkler ()”Metode for å iterere objektet:

konsoll.Logg (objekt.Keys (student));

Produksjon

I tillegg “Gjenstand.GetOwnPropertyNames ()”Metode kan brukes til å få alle eiendomsnavn (enumerable eller ikke-effektivt) av et objekt:

Gjenstand.getownPropertyNames (student);

Utgangen viser alle egenskapene til objektet, inkludert enumerable eller ikke-effektivt:

Det handler om de ensuriøse egenskapene i JavaScript.

Konklusjon

Enumable eiendom”Av objektene er egenskapene som er opprettet av eiendomsinitialisator eller enkle oppgaver som er enumerbare med mindre de eksplisitt er satt til ikke-effektivt. De enumerbare egenskapene er tilgjengelige eller iterert ved hjelp av “for i”Loop eller“Gjenstand.nøkler ()”Metode. Mens den ikke-effektivable eiendommen ikke vil bli returnert av for ... i loop eller objekt.Keys () -metode. For å få alle attributtene til objektet, inkludert enumerable eller ikke-aktuelt, bruk "Gjenstand.GetOwnPropertyNames ()”Metode. Denne bloggen demonstrerte de enumerbare egenskapene i JavaScript.