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;