⊗jsPmCdScp 134 of 505 menu

Phạm vi biến trong if-else trong JavaScript

Để đơn giản, giả sử chúng ta có một điều kiện luôn đúng:

if (true) { }

Hãy xem xét đoạn mã sau:

if (true) { let res = '!'; } console.log(res);

Như bạn thấy, giá trị '!' phải được gán vào biến res. Tuy nhiên, nếu chạy mã này, một lỗi sẽ xuất hiện trong console!

Vấn đề là, các biến được khai báo bên trong dấu ngoặc nhọn chỉ có thể nhìn thấy được bên trong những dấu ngoặc nhọn đó, và không thể nhìn thấy được từ bên ngoài. Theo ngôn ngữ khoa học, ở đây chúng ta đang nói về phạm vi của biến.

Có thể nói rằng phạm vi của các biến được khai báo bên trong dấu ngoặc nhọn chỉ là những dấu ngoặc nhọn đó. Tuy nhiên, nếu một biến được khai báo bên ngoài dấu ngoặc nhọn, thì nó có thể được nhìn thấy cả bên trong chúng và bên ngoài:

let res; // biến được khai báo bên ngoài if (true) { res = '!'; } console.log(res); // sẽ xuất ra '!'

Trong ví dụ tiếp theo, giá trị 1 hoặc giá trị 2 sẽ được gán cho biến res tùy thuộc vào điều kiện:

let num = 5; if (num >= 0) { let res = 1; } else { let res = 2; } console.log(res);

Tuy nhiên, nếu chạy mã này, một lỗi sẽ xuất hiện trong console. Như bây giờ bạn đã hiểu, tất cả là do phạm vi của biến. Để giải quyết vấn đề, hãy khai báo biến bên ngoài điều kiện:

let test = true; let res; // khai báo biến bên ngoài điều kiện if (test) { res = 1; } else { res = 2; } console.log(res); // sẽ xuất ra 1

Tác giả của mã dưới đây muốn thực hiện kiểm tra tuổi có đạt 18 tuổi hay không. Tuy nhiên, mã không hoạt động. Hãy sửa lỗi của tác giả mã. Đây là mã có vấn đề:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối