Chuyển đến nội dung chính
Mô-đun 1 · Bài học 4 trong tổng số 44/32 trong khóa học~10 min
Bài học theo mô-đun (4/4)

Điều kiện: if, else, ternary

Một chương trình hầu như không bao giờ chạy tất cả các hướng dẫn của nó theo một đường thẳng. Nó liên tục phải quyết định: nếu giá dưới ngưỡng, hãy áp dụng giảm giá; nếu người dùng đã đăng nhập, hãy hiển thị bảng điều khiển; nếu không thì hiển thị đăng nhập. Các hướng dẫn dùng để đưa ra quyết định được gọi là điều kiện.

if / else

Biểu mẫu cơ bản là if (condition) { … } else { … }:

JS
const eta = 20;

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

Điều kiện giữa các dấu ngoặc đơn được đánh giá; nếu nó là "sự thật" (trong JS thuật ngữ) khối đầu tiên được thực thi, nếu không thì khối thứ hai.

else if chuỗi

Khi có nhiều hơn hai trường hợp, chúng được kết nối với 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');
}

Chỉ nhánh đầu tiên phù hợp mới được thực thi.

Thành thật và giả dối

JS coi sáu giá trị là "giả": false, 0, '' (chuỗi trống), null, undefined, NaN. Mọi thứ khác đều là sự thật — kể cả '0', 'false' và mảng trống [].

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

Toán tử ba ngôi cond ? a : b

Khi if/else chỉ tạo ra một giá trị, ternary biểu thị giá trị đó bằng một dòng duy nhất và thường dễ đọc hơn:

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

Hãy thử nó

tập thể dục#js.m1.l4.e1
Nỗ lực: 0Đang tải…

Cho điểm từ 0 đến 10, trả về 'promosso' nếu điểm >= 6, nếu không thì trả về 'bocciato'. Biểu thức cuối cùng phải có giá trị là 'promosso' với cấp = 7.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng `cond thứ ba? a : b` là biểu thức cuối cùng.

Giải pháp khả dụng sau 3 lần thử

Xem lại bài tập

tập thể dục#js.m1.l4.e2
Nỗ lực: 0Đang tải…

Phân loại nhiệt độ: 'caldo' nếu >= 25, 'tiepido' nếu >= 15, 'freddo' nếu không. Với `t = 20` kết quả mong đợi là 'tiepido'.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Bạn có thể lồng chim nhạn: `a >= 25 ? 'caldo' : a >= 15 ? 'tiepido' : 'freddo'`.

Giải pháp khả dụng sau 3 lần thử