Обьясните как работать с Boolean
Почему не работает данный код ?
window = new Boolean(false); if(!window){ alert('work'); } |
Это такой прикол в js.
Объект когда используется в контексте логического значения всегда приводится к истине. Если это не "объект" null. Т.е. объект Boolean(false) не будет играть той роли которую ты от него ожидаешь. А вот зачем он вообще такой нужен я и сам только догадываюсь ... И имя для переменной наверное смени, а то какое то оно сильно знакомое, а в js с этим тоже приколы. |
Цитата:
Цитата:
alert(typeof new Object()); alert(typeof new Array()); alert(typeof new Boolean(true)); alert(typeof new Number(true)); Все это объекты, почему поведение должно отличаться? Точно так же не выполнится: var a = new Number(0); if (!a) { alert(1); } и var a = new Object(); if (!a) { alert(1); } По спецификации логический оператор НЕ(!) возвращает false для Object: http://javascript.ru/ecma/part11#a-11.4.9 http://javascript.ru/ecma/part9#a-9.2 Так что никаких приколов, все обосновано и описано ;) |
Цитата:
alert(typeof null); не считаю null объектом. |
Часовой пояс GMT +3, время: 06:08. |