Клиентский 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 вместо булева примитива.



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