Існує 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 . !=Має меншу продуктивність, ніж !==оператор , так як абстрактний алгоритм порівняння рівності значень приведення типів.
3. Подвійна не версія
if (!!val) { ... }
Версія Double Not !!має більш високу продуктивність, ніж як версія Strict Not, так !==і не строга версія Not !=( https://jsperf.com/tfm-not-null/6 ). Однак, це типаж значення «Falsey» , як undefinedі NaNв False ( http://www.ecma-international.org/ecma-262/5.1/#sec-9.2 ) , що може призвести до несподіваних результатів, і вона гірше , тому що читаність nullне вказано прямо.