Tartalomjegyzék
JavaScript - Kérdőjel operátor
- Szerző: Sallai András
- Copyright © 2023, Sallai András
- Szerkesztve: 2023, 2024
- Web: https://szit.hu
Hármas operátor
Az hármas operátor egy három elemből álló kifejezést alkot.
állítás ? érték_ha_igaz : érték_ha_hamis
A hagyományos if…else egy alakjának is tekinthető.
Példa:
const age = 23; const message = age >= 18 ? 'Felnőtt' : 'Kiskorú'; console.log(message); // Felnőtt
Példa 2:
const isAdmin = true; const accessLevel = isAdmin ? 'Teljes hozzáférés' : 'Korlátozott hozzáférés'; console.log(accessLevel); // Teljes hozzáférés
Opcionális láncolás
2020-ban vezették be az opcionális láncolás funkciót.
Ha nem létező objektumra hivatkozunk ez futás közben hibát vált ki. A „?” beszúrásával ellenőrizhetjük a hivatkozást.
const employee = { city: 'Szeged', salary: 357 } console.log(employee.name?.length)
Nulla összevonás
A nulla összevonás, angolul: Nullish Coalescing.
Bizonyos esetekben alapértelmezett értéket használunk. Ez a „||” operátorral tehetjük meg.
const employee = { name: undefined || 'névtelen', city: 'Szeged', salary: 357 } console.log(employee.name)
Ha az viszont szándékosan 0 vagy '' (üres sztring) amit szeretnénk beállítani, váratlan viselkedést tapasztalhatunk.
Tegyük fel, hogy a következő példában szereplő Nagy Ernő, nem kap fizetést, ezért 0, azaz nulla értéket szeretnénk beállítani.
const employee = { name: 'Nagy Ernő', city: 'Szeged', salary: 0 || 'nincs beállítva' } console.log(employee.salary)
Ha kiíratjuk 0-t kell kapjunk, hiszen be van állítva, a fizetése 0. De ha kiíratjuk nem 0-át kapunk.
Használjuk a ?? operátort:
const employee = { name: 'Nagy Ernő', city: 'Szeged', salary: 0 ?? 'nincs beállítva' } console.log(employee.salary)
Alapértelmezett érték
const username = null; const currentUser = username || 'Guest'; console.log(currentUser); // Guest
function greet(name) { const userName = name || 'Ismeretlen'; console.log(`Hello, ${userName}!`); } greet(); // Hello, Ismeretlen! greet('John'); // Hello, John!