Boolean

Примитивный тип данных. Значение может быть равно либо истине (константа true), либо лжи (константа false).

var myBool1 = true;
var myBool2 = false;
print(typeof myBool1); // печатает "boolean"

Неявное преобразование типов

В выражениях, где ожидается булево значение, к false неявно приводятся следующие значения:

  • "" (пустая строка);
  • 0 (ноль);
  • -0 (вещественный минус ноль);
  • null;
  • undefined;
  • NaN (вещественное Not A Number).

Любые другие значения приводятся к true. В том числе "0" (строковый ноль), [] (пустой массив), "false" (строка «false»).

Явное преобразование типов

Произвести явное преобразование в булево значение можно с помощью конструктора Boolean:

var x = 42;
 
var falsy1 = new Boolean();
var falsy2 = new Boolean(0);
var truthy1 = new Boolean('hello');
var truthy2 = new Boolean(x);

Альтернативно для преобразования в Boolean можно использовать двойной оператор отрицания:

var x = 42;
 
var falsy1 = !!null;
var falsy2 = !!0;
var truthy1 = !!'hello';
var truthy2 = !!x;