มี 3 วิธีในการตรวจสอบว่า "not null" คำแนะนำของฉันคือใช้ Strict Not Version
1. เวอร์ชั่นไม่เข้มงวด
if (val !== null) { ... }
เข้มงวดไม่เวอร์ชันใช้ "เข้มงวดเท่าเทียมกันเปรียบเทียบขั้นตอนวิธีการ" http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 !==มีประสิทธิภาพการทำงานได้เร็วขึ้นกว่า!=ผู้ประกอบการเพราะเข้มงวดเท่าเทียมกันเปรียบเทียบขั้นตอนวิธีการไม่ typecast ค่า
2. ไม่เข้มงวดไม่ใช่เวอร์ชัน
if (val != 'null') { ... }
รุ่นไม่เข้มงวดใช้ "ความเท่าเทียมกันบทคัดย่อเปรียบเทียบขั้นตอนวิธีการ" http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3 !=มีประสิทธิภาพการทำงานที่ช้ากว่า!==ผู้ประกอบการเนื่องจากความเท่าเทียมกันบทคัดย่อเปรียบเทียบขั้นตอนวิธีการ typecasts ค่า
3. ดับเบิลไม่ใช่เวอร์ชัน
if (!!val) { ... }
Double Not Version !!มีประสิทธิภาพที่เร็วกว่าทั้ง Strict Not Version !==และ Non-Strict Not Version !=( https://jsperf.com/tfm-not-null/6 ) อย่างไรก็ตามจะพิมพ์ค่า "Falsey" เช่นundefinedและNaNเป็น False ( http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 ) ซึ่งอาจนำไปสู่ผลลัพธ์ที่ไม่คาดคิดและมีความสามารถในการอ่านที่แย่ลงเนื่องจากnullไม่ได้ระบุไว้อย่างชัดเจน