JavaScript Blog

JavaScript Optional chaining

2022. május 29. - Webdeveloper

Objektumok/JSON adat használatakor fel kell készíteni a weboldalad vagy webalkalmazásod arra, hogy egy objektum keresett kulcsértékpárja nem létezik, illetve a keresett kulcs alatt található kulcsértékpárok sem. Ezt ellenőrizheted If-el is, de ez nagyon hosszú és kevésbé átlátható kódot eredményez. Erre találták ki a JavaScriptben az optional cahaininget.

Egy objektum / json adat értékét az objektum kulcsainak megadásával érhetjük el. Például, ha az users objektumunkban található egy user1 kulcs és az alatt egy email kulcs, akkor ezt users.user1.email formában érhetjük el. De mi történik akkor, ha nem létezik az user1 kulcs? Hibát kapunk. ugyanis user.user1 értéke undefined lesz, az undefined-nak pedig nincs email nevű property-je így users.user1.email-re már nem undefined-ot, hanem hibát kapunk, ami a JS kódunk teljes megállásával jár, azaz nem fut tovább.

Itt a kód, ami szemlélteti ezt.

Az optional chaining lehetővé teszi, hogyha egy köztes kulcs értéke undefined lesz, akkor se kapjunk hibát akkor, ha ehhez property-t akarunk adni. Használata nagyon egyszerű. csak egy "?" jelet kell rakni a pont elé, amivel meg szeretnénk kapni az értéket. Például így: user.suer1?.email . Ezzel már erre is undefined-ot kapunk, ami nem akasztja meg a kódok lefutását.

Ennek a kódnak a konzol logjában látható, hogy annak ellenére, hogy user1 és az az alatt található email kulcs sem létezik, user2 email címét még sikerül megkapnunk.

 A témáról a webmánia készített videót:

 

Ha érdekel a JavaScript programozás, akkor nézz be webfejlesztéssel foglalkozó Discord szerverünkre.

A bejegyzés trackback címe:

https://jscript.blog.hu/api/trackback/id/tr2917842997

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása