Если window.bar
равно нулю или не определено (также: 0
, ""
, NaN
и false
), тогда window.foo
будет установлен на пустой объект ({}
), в противном случае он будетbe window.bar
.
Логический оператор ИЛИ (||
) в этом случае работает как оператор объединения нулей.Это в основном сокращение:
window.foo = (window.bar != null ? window.bar : {});
Этот пост объясняет поведение более подробно.