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