JavaScript различает специальный тип и одноименное примитивное значение null – явное (программно-установленное) пустое значения, и значение undefined типа "undefined", которое говорит о том, что значение еще не было назначено:
typeof null //результат – "object"
typeof undefined //результат – "undefined"
В JavaScript можно объявить переменную не инициализируя ее. В этом случае значение переменной будет равно undefined.
В JavaScript есть логический тип с возможными значениями true и false (оба являются ключевыми словами в JavaScript ). Любое значение может быть преобразовано к логическому в согласии со следующими правилами:
- false, 0, пустая строка ( "" ), NaN, null, и undefined трактуются как false ;
- все остальное как true.
Преобразование можно провести в явном виде с использованием функции Boolean():
Boolean("") //результат – "false"
Boolean(234) //результат – "true"
Эта возможность используется достаточно редко, поскольку такое преобразование производится автоматически в тех случаях, когда ожидается логическое значение, как в выражении if. Поэтому обычно просто говорят о "истинных значениях" и "ложных значениях", подразумевая, в какое из логических значений оно преобразуется.
Поддерживаются стандартные логические операторы && (логическое и ), || (логическое или ) и ! (логическое не ).