====== Boolean ======
Примитивный тип данных. Значение может быть равно либо истине (константа ''true''), либо лжи (константа ''false'').
var myBool1 = true;
var myBool2 = false;
print(typeof myBool1); // печатает "boolean"
===== Неявное преобразование типов =====
В выражениях, где ожидается булево значение, к ''false'' неявно приводятся следующие значения:
* ''""'' (пустая строка);
* ''0'' (ноль);
* ''-0'' (вещественный минус ноль);
* ''null'';
* ''undefined'';
* ''[[builtins#NaN|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;