var x = x || {}
Понимаю, что придам себя анафеме этим вопросом, но уже замучался доку ковырять ...
что значит || (при чем тут ИЛИ) config.name = config.name || "bob" еще один пример ... взято с англ книжки по ExtJS Первый пример по namespace, которые я всегда делал совсем по-другому, второй определяет внутри класса... я конечно догадываюсь о знаении ||, но что точно означает не пойму... |
|
Если переменная или свойство объекта равны empty string, null, undefined, 0, то они могут трактоваться как false, а в данном контексте это выражение означает, если config.name определён (не false), то он остаётся без изменений, а если нет, то берётся дефолтное значение "bob".
Кстати, если boolean(false) - это всё равно true, т.к. переменная определена, поэтому лучше использовать строгое сравнение (=== и !==). |
спасибо - догадка оправдалась =) на тернарных мозг зациклился... поэтому искал изначально неправильно
|
Лучше так:
config.name || (config.name = "bob"); |
Часовой пояс GMT +3, время: 09:30. |