การเปรียบเทียบค่าและประเภทข้อมูลที่ไม่เท่ากันใน JavaScript

นอกจากตัวดำเนินการ != แล้ว ยังมี ตัวดำเนินการ !== ที่คำนึงถึงประเภทข้อมูลด้วยเมื่อ เปรียบเทียบ มาดูความแตกต่างระหว่าง ทั้งสองด้วยตัวอย่างกัน

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

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

สมมติว่าตอนนี้ค่าหนึ่งในสองค่าของเราอยู่ ในเครื่องหมายคำพูด ในกรณีนี้ตัวดำเนินการ != ก็ยังคงถือว่ามันเท่ากัน (เพราะค่าตรงกัน และประเภทข้อมูลไม่สำคัญสำหรับตัวดำเนินการนี้) และเงื่อนไขก็จะเป็นเท็จอีกครั้ง:

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('---');
}
Задание 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 = 2;
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}