Lompati ke konten utama
Modul 1 · Pelajaran 4 dari 44/32 dalam kursus~10 min
Pelajaran modul (4/4)

Kondisional: if, else, ternary

Sebuah program hampir tidak pernah menjalankan seluruh instruksinya dalam garis lurus. Itu terus-menerus harus memutuskan: jika harga di bawah ambang batas, terapkan diskon; jika pengguna masuk, tampilkan panel; jika tidak, tunjukkan masuk. Instruksi yang digunakan untuk mengambil keputusan disebut kondisional.

if / else

Bentuk dasarnya adalah if (condition) { … } else { … }:

JS
const eta = 20;

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

Kondisi di antara tanda kurung dievaluasi; jika itu "benar" (dalam JS terminologi) blok pertama dieksekusi, jika tidak maka blok kedua.

else if rantai

Jika terdapat lebih dari dua kasus, maka kasus tersebut dirantai dengan 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');
}

Hanya cabang pertama yang cocok yang dieksekusi.

Benar dan salah

JS menganggap enam nilai "salah": false, 0, '' (string kosong), null, undefined, NaN. Yang lainnya benar — bahkan '0', 'false' dan array kosong [].

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

Operator terner cond ? a : b

Ketika if/else hanya menghasilkan nilai, ternary menyatakannya dalam satu baris dan seringkali lebih mudah dibaca:

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

Cobalah

Latihan#js.m1.l4.e1
Upaya: 0Memuat…

Jika diberi nilai dari 0 hingga 10, kembalikan 'promosso' jika nilainya >= 6, jika tidak 'bocciato'. Ekspresi terakhir harus bernilai 'promosso' dengan nilai = 7.

Memuat editor…
Tunjukkan petunjuk

Gunakan `cond ternary? a : b` sebagai ekspresi terakhir.

Solusi tersedia setelah 3 upaya

Tinjau latihan

Latihan#js.m1.l4.e2
Upaya: 0Memuat…

Klasifikasikan suhu: 'caldo' jika >= 25, 'tiepido' jika >= 15, 'freddo' jika tidak. Dengan `t = 20` hasil yang diharapkan adalah 'tiepido'.

Memuat editor…
Tunjukkan petunjuk

Anda dapat membuat sarang terner: `a >= 25 ? 'caldo' : a >= 15 ? 'tiepido' : 'freddo'`.

Solusi tersedia setelah 3 upaya