เมื่อใช้จาวาสคริปต์มาก่อนฉันจะพบการใช้สัญลักษณ์ทั้งสอง == และ === เพื่อตรวจสอบว่าตัวแปรทั้งสองเท่ากันหรือไม่ อย่างไรก็ตามความแตกต่างระหว่างสัญลักษณ์ทั้งสองนี้ยังไม่ได้รับการตรวจสอบ ฉันพบสัญลักษณ์ === อีกครั้งในวันนี้ดังนั้นฉันตัดสินใจที่จะตรวจสอบว่าความแตกต่างคืออะไร
มีอักขระเปรียบเทียบสองตัว "==" และ "==" ใน JavaScript "ดังนั้นความแตกต่างคืออะไร?
1. สำหรับประเภทพื้นฐานเช่นสตริงตัวเลขมีความแตกต่างระหว่าง == และ ===
1) การเปรียบเทียบระหว่างประเภทที่แตกต่างกัน == การเปรียบเทียบ "แปลงเป็นประเภทเดียวกัน" เพื่อดูว่า "ค่า" เท่ากันหรือไม่ === หากชนิดต่างกันผลลัพธ์จะแตกต่างกัน
2) การเปรียบเทียบประเภทเดียวกันเปรียบเทียบโดยตรง "ค่า" และผลลัพธ์ของทั้งสองนั้นเหมือนกัน
2. สำหรับประเภทขั้นสูงเช่นอาร์เรย์วัตถุไม่มีความแตกต่างระหว่าง == และ ===
เมื่อตัวแปรถูกกำหนดเป็น arrary และตัวแปรถูกกำหนดเป็นประเภทวัตถุ แต่ค่าของมันจะเหมือนกันผลลัพธ์ของการเปรียบเทียบ == และ === นั้นเหมือนกันเพราะเป็นการเปรียบเทียบ "ที่อยู่ตัวชี้"
3. มีความแตกต่างระหว่างประเภทพื้นฐานและประเภทขั้นสูง == และ ===
1) สำหรับ == ให้แปลงขั้นสูงเป็นประเภทพื้นฐานและทำการเปรียบเทียบ "ค่า"
2) เนื่องจากประเภทนั้นแตกต่างกันผลลัพธ์ === เป็นเท็จ