Object.is()
Object.is() ใช้ตรวจสอบว่าสองค่า เหมือนกัน หรือไม่
สองค่าเหมือนกันเมื่อ:
- ทั้งคู่เป็น undefined หรือ null
- ทั้งคู่เป็น true หรือ false
- สตริงทั้งคู่: ความยาวเท่ากัน, ตัวอักษรเท่ากัน, ลำดับเท่ากัน
- Polarities (เครื่องหมาย +/-) เท่ากัน
- ทั้งคู่เป็น NaN และเท่ากัน
รูปแบบ
Object.is(val1, val2);
รับ 2 พารามิเตอร์ ตรวจสอบความเท่ากัน คืนค่า true ถ้าเท่ากัน มิฉะนั้น false
ความแตกต่างเล็กน้อยกับ "==": เปรียบเทียบ +0 และ -0, Object.is() คืน false แต่ "==" คืน true แสดงว่า Object.is() ตรวจสอบ polarity ด้วย
ตัวอย่าง
<html> <body> <script>
// เปรียบเทียบสตริงตัวอักษรและลำดับเดียวกัน
var val = Object.is("tutorialspoint", "tutorialspoint");
document.write(val);
document.write("<br>");
// เปรียบเทียบ polarity
var pol = Object.is(-0, +0);
document.write(pol);
document.write("<br>");
// เปรียบเทียบสตริงไม่เท่ากัน
var uneq = Object.is("tutorialspoint!", "tutorialspoint");
document.write(uneq);
document.write("<br>");
// เปรียบเทียบออบเจ็กต์
var obj = Object.is({object: 1}, {object: 2});
document.write(obj);
</script> </body> </html>
ผลลัพธ์
true false false false