⊗jsPmCdCWB 119 of 505 menu

การเปรียบเทียบค่ากับประเภทบูลีนใน JavaScript

ในตัวอย่างก่อนหน้านี้ เราใช้สำหรับการเปรียบเทียบ โอเปอเรเตอร์ === ในกรณีนี้ ตัวแปรของเรา ถูกเปรียบเทียบเพื่อหาความเท่ากันกับ true ทั้ง ในแง่ของค่าและประเภท

สำหรับการเปรียบเทียบเช่นนี้ สามารถใช้ โอเปอเรเตอร์ == ได้ หากในตัวแปร test จะเป็นหนึ่งในค่าของ true หรือ false เสมอ ก็จะไม่มีอะไรเปลี่ยนแปลง:

let test = true; // ตรงนี้เราเขียน true หรือ false if (test == true) { console.log('+++'); } else { console.log('---'); }

แต่หากในตัวแปร test สามารถ รับค่าใดๆ ก็ได้ ทุกอย่างจะกลายเป็น ซับซ้อนมากขึ้นมาก

ในกรณีดังกล่าว หากในตัวแปร test ไม่ใช่ค่าบูลีน ค่านั้น จะถูกแปลงเป็นบูลีนก่อน และหลังจากนั้นเท่านั้น จึงจะถูกนำไปเปรียบเทียบ

สมมติว่า ในตัวแปร test เป็นตัวเลข 1 ในกรณีนี้ มันจะ ถูกแปลงเป็นประเภทลอจิคัลก่อน นั่นคือ เป็น true และหลังจากนั้นจะทำการเปรียบเทียบ:

let test = 1; if (test == true) { console.log('+++'); // จะทำงานอันนี้ } else { console.log('---'); }

แต่สำหรับตัวอย่างเช่น ตัวเลข 0 จะถูกแปลง เป็น false และเงื่อนไขของเราในผลลัพธ์ จะแสดง 'ไม่ถูกต้อง':

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); // จะทำงานอันนี้ }

โดยแท้จริงแล้ว การเปรียบเทียบเช่นนี้สามารถ เขียนใหม่ให้ชัดเจนได้ในรูปแบบต่อไปนี้:

let test = 1; if (Boolean(test) == true) { console.log('+++'); } else { console.log('---'); }

จำและเขียนว่าค่าใดบ้างที่เมื่อ แปลงเป็นประเภทลอจิคัลแล้วให้ผลเป็น false

โดยไม่ต้องรันโค้ด จงพิจารณาว่าจะแสดงอะไร ออกทางคอนโซล:

let test = 1; if (test == true) { console.log('+++'); } else { console.log('---'); }

โดยไม่ต้องรันโค้ด จงพิจารณาว่าจะแสดงอะไร ออกทางคอนโซล:

let test = 0; if (test == true) { console.log('+++'); } else { console.log('---'); }

โดยไม่ต้องรันโค้ด จงพิจารณาว่าจะแสดงอะไร ออกทางคอนโซล:

let test = 1; if (test == false) { console.log('+++'); } else { console.log('---'); }

โดยไม่ต้องรันโค้ด จงพิจารณาว่าจะแสดงอะไร ออกทางคอนโซล:

let test = 1; if (test != true) { console.log('+++'); } else { console.log('---'); }

โดยไม่ต้องรันโค้ด จงพิจารณาว่าจะแสดงอะไร ออกทางคอนโซล:

let test = ''; if (test == false) { console.log('+++'); } else { console.log('---'); }

โดยไม่ต้องรันโค้ด จงพิจารณาว่าจะแสดงอะไร ออกทางคอนโซล:

let test; if (test == true) { console.log('+++'); } else { console.log('---'); }

โดยไม่ต้องรันโค้ด จงพิจารณาว่าจะแสดงอะไร ออกทางคอนโซล:

let test = 3 * 'a'; if (test == true) { console.log('+++'); } else { console.log('---'); }
ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ