Тема: var x = x || {}
Показать сообщение отдельно
  #3 (permalink)  
Старый 23.05.2011, 01:41
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Если переменная или свойство объекта равны empty string, null, undefined, 0, то они могут трактоваться как false, а в данном контексте это выражение означает, если config.name определён (не false), то он остаётся без изменений, а если нет, то берётся дефолтное значение "bob".
Кстати, если boolean(false) - это всё равно true, т.к. переменная определена, поэтому лучше использовать строгое сравнение (=== и !==).
Ответить с цитированием