ฉันพบข้อบกพร่องมากมายในโค้ดของฉันเพราะฉันคาดหวังนิพจน์นี้:
Boolean([]);
เพื่อประเมินเป็นเท็จ
แต่นี่ไม่ใช่กรณีที่ประเมินว่าเป็นจริง
ดังนั้นฟังก์ชันที่อาจส่งกลับ[]
เช่นนี้:
// Where myCollection possibly returned [ obj1, obj2, obj3] or []
if(myCollection)
{
// ...
}else
{
// ...
}
ไม่ได้ทำสิ่งที่คาดหวัง
ฉันเข้าใจผิดในการสมมติว่า[]
อาร์เรย์ว่างเปล่า?
นอกจากนี้พฤติกรรมนี้สอดคล้องกันในทุกเบราว์เซอร์หรือไม่ หรือมี gotchas อยู่ที่นั่นด้วย? ฉันสังเกตพฤติกรรมนี้ใน Goolgle Chrome โดยวิธีการ