Salt la conținutul principal
Modulul 1 · Lecția 4 din 44/32 în curs~10 min
Lecții din modul (4/4)

Condiționale: dacă, altfel, ternare

Un program aproape niciodată nu rulează toate instrucțiunile în linie dreaptă. Ea în mod constant trebuie să decid: dacă prețul este sub prag, aplicați reducere; dacă utilizatorul este autentificat, afișați panoul; altfel arata autentificare. Instrucțiunile folosite pentru a lua decizii se numesc condiționale.

if / else

Forma de bază este if (condition) { … } else { … }:

JS
const eta = 20;

if (eta >= 18) {
  console.log('Maggiorenne');
} else {
  console.log('Minorenne');
}

Se evaluează starea dintre paranteze; dacă este „adevărat” (în JS terminologie) se execută primul bloc, în caz contrar al doilea.

else if lanțuri

Când există mai mult de două cazuri, acestea sunt legate cu else if:

JS
const punti = 87;
if (punti >= 90) {
  console.log('Eccellente');
} else if (punti >= 70) {
  console.log('Buono');
} else if (punti >= 50) {
  console.log('Sufficiente');
} else {
  console.log('Da migliorare');
}

Se execută doar prima ramură care se potrivește.

Adevărat și fals

JS consideră șase valori „false”: false, 0, '' (șir gol), null, undefined, NaN. Totul altceva este adevăr — chiar și '0', 'false' și matricea goală [].

JS
if ('0') console.log('arriva qui'); // 'arriva qui'
if ([]) console.log('e anche qui'); // 'e anche qui'
if (0) console.log('mai'); // (mai)

Operatorul ternar cond ? a : b

Când un if/else produce doar o valoare, ternarul o exprimă în un singur rând și este adesea mai lizibil:

JS
const eta = 20;
const stato = eta >= 18 ? 'adulto' : 'minorenne';

Încearcă

Exercițiu#js.m1.l4.e1
Încercări: 0Se încarcă…

Având o notă de la 0 la 10, returnați „promosso” dacă nota este >= 6, în caz contrar, „bocciato”. Ultima expresie trebuie să fie evaluată la „promosso” cu nota = 7.

Se încarcă editorul...
Afișează indiciu

Folosiți `cond ? a : b` ca ultima expresie.

Soluție disponibilă după 3 încercări

Exercițiu de revizuire

Exercițiu#js.m1.l4.e2
Încercări: 0Se încarcă…

Clasificați o temperatură: „caldo” dacă >= 25, „tiepido” dacă >= 15, „freddo” în caz contrar. Cu `t = 20` rezultatul așteptat este 'tiepido'.

Se încarcă editorul...
Afișează indiciu

Puteți cuibări ternare: `a >= 25 ? 'caldo' : a >= 15 ? 'tiepido' : 'freddo'`.

Soluție disponibilă după 3 încercări