Есть 3 способа проверить "не нуль". Я рекомендую использовать Strict Not Version.
1. Строгая не версия
if (val !== null) { ... }
Версия Strict Not использует "алгоритм сравнения строгого равенства" http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 . Он !==имеет более высокую производительность, чем !=оператор, поскольку алгоритм сравнения строгого равенства не выполняет приведение типов значений.
2. Нестрогий вариант Not Version
if (val != 'null') { ... }
В нестрогой версии используется «алгоритм сравнения абстрактного равенства» http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3 . Производительность оператора !=ниже, чем у !==оператора, поскольку алгоритм сравнения абстрактного равенства приводит значения типов.
3. Версия Double Not
if (!!val) { ... }
Версия Double Not !!имеет более высокую производительность, чем версия Strict Not и Версия !==Non-Strict 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прямо не указано.