Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var name = "Tim Caswell"; var age = 28; var isProgrammer = true; // Забываем поставить var likesJavaScript = true;
var a = true;
var b = new Boolean(true);
if (a == b) {
console.log("a == b");
} // пока все ок
if (a === b) {
console.log("a === b");
} else {
console.log("Хм...");
}
if (new Boolean(true) == b) {
console.log("new Boolean(true) == b");
} else {
console.log("О как...");
}
if ((new Boolean(true)).valueOf() == (new Boolean(true)).valueOf()) {
console.log("Ну хоть как-то");
}
if(new Boolean(new Boolean(false)) == true) {
console.log("FML!");
}
if(new Boolean(false)) console.log('WTF?');
так что да, обьект Boolean бесполезный и приводит к путаницам. А функция Boolean вполне полезная для приведения чего-либо к булевому значению:if(Boolean('') && Boolean(0) && Boolean(-1)) console.log('no');
JavaScript в диаграммах (Часть 1)