"शून्य नहीं" की जांच करने के 3 तरीके हैं। मेरी सिफारिश स्ट्रिक्ट नॉट वर्जन का उपयोग करने की है।
1. सख्त संस्करण नहीं
if (val !== null) { ... }
सख्त नहीं संस्करण "सख्त समानता तुलना एल्गोरिथ्म" का उपयोग करता है http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 । !== तुलना में तेज़ प्रदर्शन है!= , क्योंकि सख्त समानता तुलना एल्गोरिथ्म मान समान किरदार नहीं है ऑपरेटर।
2. गैर-सख्त संस्करण नहीं
if (val != 'null') { ... }
गैर-सख्त संस्करण "सार समानता समानता एल्गोरिथम" का उपयोग करता है http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3 । की !=तुलना में धीमा प्रदर्शन है!== क्योंकि सार समानता तुलना एल्गोरिथ्म मूल्यों typecasts ऑपरेटर।
3. डबल संस्करण नहीं
if (!!val) { ... }
डबल नॉट वर्जन !!में स्ट्रिक्ट नॉट वर्जन !==और नॉन स्ट्रिक्ट नॉट वर्जन !=( https://jsperf.com/tfm-not-null/6 ) दोनों की तुलना में तेज प्रदर्शन है । हालाँकि, यह "Falsey" मानों को टाइप undefinedऔर NaNफाल्स में टाइप करेगा ( http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 ) जो अप्रत्याशित परिणाम दे सकता है, और इसकी खराब पठनीयता है क्योंकि nullस्पष्ट रूप से नहीं कहा गया है।