Клиентский JavaScript. Справочник

         

Не смешивайте примитивные булевы значения


Не смешивайте примитивные булевы значения true и false со значениями true и false объекта Boolean.
Любой объект со значением undefined или null, включая объект Boolean со значением false, вычисляется в true, когда передаётся в условный оператор. Например, условие следующего оператора if вычисляется в true:
x = new Boolean(false);
if(x) //условие равно true Это поведение не применяется для булевых примитивов. Например, условие в следующем операторе if вычисляется в false:
x = false;
if(x) //условие - false Не используйте объект Boolean для конвертации не-булева значения в булево. Вместо этого используйте Boolean как функцию для выполнения этой задачи:
x = Boolean(выражение) //предпочтительно
x = new Boolean(выражение) //не используйте Если Вы специфицируете любой объект, включая объект Boolean со значением false, как начальное значение объекта Boolean, новый Boolean-объект имеет значение true.
myFalse=new Boolean(false) //начальное значение - false
g=new Boolean(myFalse)       //начальное значение - true
myString=new String("Hello") //строковой объект
s=new Boolean(myString)      //начальное значение - true В JavaScript 1.3 и позднее не используйте объект Boolean вместо булева примитива.

Содержание раздела