El

Elágazások ebben a kurzusban: JavaScript

42 feladat

A(z) Elágazások fogalomról

Általános szintaxis

JavaScriptben a feltételes logika végrehajtásának egyik gyakori módja az elágazás. Ez az if kulcsszóból, kerek zárójelbe zárt feltételből és kapcsos zárójelbe zárt kódblokkból áll. A kódblokk csak akkor fut le, ha a feltétel true-ra értékelődik ki.

if (condition) {
  // code that is executed if "condition" is true
}

Önmagában is használható, vagy összekapcsolható az else kulcsszóval.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

Egymásba ágyazott elágazások

Ha egy további feltételt szeretnél az else utasításba ágyazni, használhatod az else if szerkezetet. Vedd figyelembe, hogy JavaScriptben nincs elseif kulcsszó. Helyette írd le az else kulcsszót, majd utána egy újabb if elágazást.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

Elméletileg annyi további feltételt ágyazhatsz egymásba, amennyit csak szeretnél. A gyakorlatban azonban ilyen esetekben inkább egy switch utasítást használnál.

if (condition1) {
  // ...
} else if (condition2) {
  // ...
} else if (condition3) {
  // ...
} else if (condition4) {
  // ...
} else {
  // ...
}

A feltétel

Amikor összetett feltételeket írsz, nézd meg az operátorok precedenciatáblázatát, hogy elkerüld a felesleges zárójeleket.

if (num >= 0 && num < 1) {
  // ...
}

// The inner brackets are obsolete because relational operators
// have higher precedence than logical operators.
<!-- prettier-ignore-start -->

if ((num >= 0) && (num < 1)) {
  // ...
}
<!-- prettier-ignore-end -->

Érdemes lehet további változókat is használni, hogy a kód olvashatóbb legyen.

const isPositive = num >= 0;
const isSmall = num < 1;
if (isPositive && isSmall) {
  // ...
}

JavaScriptben a feltételnek nem kell boolean típusúnak lennie. Ha egy boolean típustól eltérő értéket adunk meg egy boolean kontextusban, például egy elágazásban, a JavaScript automatikusan boolean értékké alakítja. Ha kíváncsi vagy, mely értékek számítanak truthy, és melyek falsy értékűnek, nézd meg a típuskonverzió fogalmát.

const num = 4;
if (num) {
  // this code block will be executed because 4 is truthy
}

Rövidített jelölések

Ha az if vagy az else kódblokkjában csak egy utasítást szeretnél végrehajtani, a JavaScriptben elhagyhatod a kapcsos zárójeleket.

if (condition) doSomething();

// or

if (condition)
  doSomething();

Ezt néha például hibafeltétel ellenőrzésekor használják. Általában azonban nem ajánlott, mert könnyű megfeledkezni arról, hogy visszategyük a zárójeleket, amikor egy második utasítást adunk hozzá, amelynek ugyanattól a feltételtől kellene függenie.

Függvények írásakor gyakori minta, hogy elhagyjuk az else ágat, és helyette korai return-t használunk az if ágban. Ez sok esetben csökkenti az egymásba ágyazást, és olvashatóbbá, könnyebben követhetővé teszi a kódot.

function checkNumber(num) {
  let message = '';

  if (num === 0) {
    message = 'You passed 0, please provide another number.';
  } else {
    message = 'Thanks for passing such a nice number.';
  }

  return message;
}

// Can also be written as ...
function checkNumber(num) {
  if (num === 0) {
    return 'You passed 0, please provide another number.';
  }

  return 'Thanks for passing such a nice number.';
}
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Elágazások fogalmat