การเท่ากันทั้งค่าและชนิดใน JavaScript

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

สำหรับการนี้ แทนที่จะใช้ตัวดำเนินการ == ควร ใช้ตัวดำเนินการ === ในตัวอย่างต่อไปนี้ เมื่อเปรียบเทียบสตริง '3' และ จำนวน 3 เงื่อนไขจะเป็นเท็จ เนื่องจากตัวแปร แม้จะเท่ากันในเชิงค่า แต่ไม่เท่ากันในเชิงชนิด:

javascriptif ('3' === 3) {
  console.log('+++');
} else {
  console.log('---'); // ส่วนนี้จะทำงาน
}

แต่เมื่อเปรียบเทียบสตริงสองตัว '3' เงื่อนไขจะเป็นจริง:

javascriptif ('3' === '3') {
  console.log('+++'); // ส่วนนี้จะทำงาน
} else {
  console.log('---');
}

เช่นเดียวกันเมื่อเปรียบเทียบจำนวน:

javascriptif (3 === 3) {
  console.log('+++'); // ส่วนนี้จะทำงาน
} else {
  console.log('---');
}

ความแตกต่างระหว่างตัวดำเนินการ == และตัวดำเนินการ === จะแสดงออกมาเมื่อ ค่าทั้งสองเหมือนกัน แต่ชนิดข้อมูลต่างกัน ในกรณีอื่น ๆ ตัวดำเนินการเหล่านี้ทำงาน เหมือนกัน ตัวอย่างเช่น เมื่อเปรียบเทียบจำนวน ที่ต่างกัน แน่นอนว่าจะแสดงผล '---':

javascriptif (2 === 3) {
  console.log('+++');
} else {
  console.log('---'); // ส่วนนี้จะทำงาน
}
Задание 1

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

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 == test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

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

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

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

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 == test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

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

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

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

javascriptlet test1 = 3;
let test2 = 3;
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}