Forskjellige måter å sjekke om en egenskap eksisterer i et objekt

Forskjellige måter å sjekke om en egenskap eksisterer i et objekt

Mens vi programmerer i JavaScript, blir vi ofte konfrontert med et problem som har en enkel løsning. Noen ganger blir det imidlertid utfordrende å finne det. Du kan også møte denne situasjonen hvis du er en JavaScript -nybegynner som prøver å sjekke om en egenskap eksisterer i et objekt eller ikke og ikke vet den riktige tilnærmingen du kan følge.

JavaScript tilbyr forskjellige måter For å bekrefte om en objektegenskap eksisterer eller ikke. Noen av de mest brukte metodene er: Gjenstand.HasownProperty () -metode, inkluderer () metode og "i" operatør.

Denne oppskrivningen vil diskutere forskjellige måter for å sjekke eksistensen av et objekts eiendom. Så la oss starte!

Metode 1: Kontroller om en egenskap eksisterer i et objekt som bruker HasOwnProperty () -metode til

I JavaScript, HasownProperty () Metoden brukes for å bekrefte tilstedeværelsen av den spesifiserte egenskapen i et objekt. Denne metoden returnerer en “Boolsk”Verdi, som indikerer om den spesifiserte egenskapen eksisterer i objektet eller ikke.

Syntaks

gjenstand.HasownProperty ('eiendom');

I den ovennevnte syntaks, "HasownProperty ()”Vil bli påkalt med den valgte”gjenstand”Mens du passerer det spesifiserte "Eiendom" som en "streng".

Eksempel:

Først av alt vil vi lage en "ansatt”Objekt som har to egenskaper: “Navn” og “Betegnelse” og deres respektive verdier:

La ansatt =
Navn: 'Alex',
Betegnelse: 'Manager'
;

I neste trinn vil vi bruke "HasownProperty ()”Metode for å sjekke om“Navn”Eiendom eksisterer i det opprettet”ansatt”Objekt:

La info = ansatt.hasownProperty ('navn');
konsoll.logg (info);

Verdien som returneres av “HasownProperty ()”Metoden er“ekte," som betyr at "Navn”Er en eiendom av“ansatt”Objekt:

Nå vil vi spesifisere “alder”Som en eiendom i“HasownProperty ()”Og sjekk retur saken:

La info = ansatt.HasownProperty ('kjønn');
konsoll.logg (info);

Som "alder”Eiendom eksisterer ikke i“HasownProperty ()”, Derfor er retursaken satt til“falsk”:

Husk at "HasownProperty ()”Metode søker bare etter“egen”Egenskaper til et objekt, ikke de arvelige.

For eksempel, når du oppretter et objekt i JavaScript, arver det automatisk "toString" tilhører "Gjenstand”Imidlertid"HasownProperty ()”Metoden vil ikke gjenkjenne”toString”Som eiendommen til“ansatt”Objekt:

La info = ansatt.hasownProperty ('toString');
konsoll.logg (info);

Utgangen vil skrive ut “falsk" fordi "toString”Er en arvelig egenskap til“ansatt”Objekt, og“HasownProperty ()”Utfør bare søkeoperasjonen for“egen”Egenskaper til et JavaScript -objekt:

La oss nå gå mot andre metoder for å sjekke eksistensen av eiendommer i et JavaScript -objekt.

Metode 2: Kontroller om en egenskap eksisterer i et objekt som bruker inkluderer () -metode

Den andre metoden for å sjekke om en egenskap eksisterer i et objekt omfatter to trinn:

  • I det første trinnet vil vi trekke ut tastene til det spesifiserte objektet ved hjelp av "Gjenstand.nøkler ()”Metode. Denne metoden returnerer en matrise som inneholder objekttastene.
  • Deretter påkaller du “inkluderer ()”Funksjon for å sjekke om en bestemt egenskap eksisterer i“nøkler”Array eller ikke.

Syntaks

var nøkler = objekt.nøkler (objekt);
konsoll.Logg (nøkler.inkluderer ("eiendom"));

I den ovennevnte syntaks, pass den valgte “gjenstand”Som et argument for“Gjenstand.nøkler ()”Metode og spesifiser deretter“eiendom”I“inkluderer ()”Metode, som du trenger å søke i“nøkler”Array.

Eksempel

Utfør følgende kode for å sjekke om "Navn" tilhører "ansatt”Objekt eksisterer i dets“nøkler”Array:

var nøkler = objekt.nøkler (ansatt);
konsoll.Logg (nøkler.inkluderer ("navn"));

Gitt utgang betyr at "Navn”Eiendom tilhører“ansatt”Objekt:

Nå vil vi søke ut “kjønn”Eiendom i“nøkler”Array:

konsoll.Logg (nøkler.inkluderer ("kjønn"));

Som "ansatt”Objekt inneholder ingen“kjønn”Eiendom, så“nøkler.inkluderer ()”Metoden kommer tilbake“falsk”:

Også "nøkler.inkluderer ()”Sjekker bare til den spesifiserte eiendommen innenfor“nøkler”Array. Det er grunnen til at retur saken om "nøkkel.inkluderer ()”Metoden er satt til falsk etter å ha sett etter en arvelig nøkkel:

konsoll.Logg (nøkler.inkluderer ("toString"));

nøkler.inkluderer ()”Metoden har ikke funnet“toString”Eiendom med“nøkler”Array, derfor har utdataene vist“falsk”Verdi:

Både "HasownProperty ()”Og“inkluderer ()”Metoder Sjekk for“egen”Egenskaper til et objekt. Hva om du vil sjekke noen arvelig eiendom? Bruk “i”Operatør i et slikt scenario.

Metode 3: Kontroller om en egenskap eksisterer i et objekt som bruker "In" -operatøren

JavaScript tilbyr et innebygd “i”Operatør som avgjør om den spesifiserte egenskapen tilhører et objekt eller ikke. Det kommer tilbake “ekte”Hvis den spesielle egenskapen eksisterer i objektet og“falsk”For saken når eiendommen ikke er funnet.

Syntaks

'eiendom' i objekt

Her, "eiendom”Er den første parameteren som representerer eiendomsnavn, og "gjenstand”Er den andre parameteren som er gitt til“i”Operatør, som må sjekkes for den aktuelle eiendommen.

Eksempel

I dette eksemplet vil vi bruke “i”Operatør for å sjekke om“Navn”Eiendom eksisterer i“ansatt”Objekt:

La info = 'navn' i ansatt;
konsoll.logg (info);

Produksjon

i”Operatøren returnerer”ekte”Som“ Navn ”-egenskapen eksisterer i“ansatt”Objekt. Imidlertid for "kjønn”Eiendom, den vil sende ut”falsk”Fordi vi ikke har lagt til“ansatt”Objektserklæring:

info = 'kjønn' i ansatt;
konsoll.logg (info);

Produksjon

Til slutt, bruk "i”Operatør for å sjekke den arvelige”toString”Eiendom til“ansatt”Objekt:

La info = 'toString' i ansatt;
konsoll.logg (info);

Som du kan se av utgangen, "i”Operatøren har med hell sjekket eksistensen av den vedtatte arvelige eiendommen og returnert”ekte”:

Vi har samlet forskjellige måter å sjekke om en eiendom eksisterer i et JavaScript -objekt. Du kan bruke en gitt metode i programmet ditt for å oppnå de nødvendige resultatene.

Konklusjon

JavaScript tilbyr forskjellige måter eksistensen av et objekts eiendom, for eksempel "Gjenstand.HasownProperty ()”Metode,“inkluderer ()”Metode, og“i”Operatør. Objektet.HasownProperty () og inkluderer () -metode kan brukes til å sjekke et objekts egen eiendom. Mens “i”Operatøren bestemmer egne egenskaper så vel som arvelige objektegenskaper. Denne oppskrivningen diskuterte forskjellige måter å sjekke eksistensen av en egenskap i det spesifiserte objektet.