⊗jsPmCdScp 134 of 505 menu

ขอบเขตของตัวแปรใน if-else ใน JavaScript

เพื่อให้ง่าย สมมติว่าเรามีเงื่อนไขที่เป็นจริงเสมอ:

if (true) { }

ลองดูโค้ดต่อไปนี้:

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

อย่างที่คุณเห็น ค่า '!' ควรถูกกำหนดให้กับตัวแปร res อย่างไรก็ตาม ถ้ารันโค้ดนี้ จะเกิดข้อผิดพลาดในคอนโซล!

ประเด็นคือ ตัวแปรที่ ประกาศภายในวงเล็บปีกกา จะมองเห็นได้เฉพาะภายใน วงเล็บปีกกานั้นเท่านั้น และไม่สามารถมองเห็นจากภายนอกได้ ในทางวิทยาศาสตร์ เรากำลังพูดถึง ขอบเขตของตัวแปร

เราสามารถพูดได้ว่าขอบเขตของตัวแปร ที่ประกาศภายในวงเล็บปีกกา คือภายในวงเล็บปีกกานั้นเท่านั้น อย่างไรก็ตาม ถ้าตัวแปรถูกประกาศไว้นอกวงเล็บปีกกา มันจะสามารถมองเห็นได้ทั้งภายในและภายนอก:

let res; // ประกาศตัวแปรไว้นอกวงเล็บ if (true) { res = '!'; } console.log(res); // แสดงผล '!'

ในตัวอย่างถัดไป ตัวแปร res จะถูกกำหนดค่าเป็น 1 หรือ 2 ขึ้นอยู่กับเงื่อนไข:

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

อย่างไรก็ตาม ถ้ารันโค้ดนี้ จะเกิดข้อผิดพลาดในคอนโซล ตอนนี้คุณคงเข้าใจแล้วว่า สาเหตุทั้งหมดคือเรื่องการมองเห็นของตัวแปร ในการแก้ปัญหา มาประกาศตัวแปรไว้นอกเงื่อนไขกัน:

let test = true; let res; // ประกาศตัวแปรไว้นอกเงื่อนไข if (test) { res = 1; } else { res = 2; } console.log(res); // แสดงผล 1

ผู้เขียนโค้ดด้านล่างต้องการตรวจสอบอายุว่า ถึง 18 ปีหรือไม่ อย่างไรก็ตามโค้ดนี้ไม่ทำงาน กรุณาแก้ไขข้อผิดพลาดของผู้เขียนโค้ด นี่คือโค้ดที่มีปัญหา:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
ไทย
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ʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ