|| Оператор проверяет, является ли значение, указанное в левой части выражения, ложным (в логическом контексте). Если это так, он возвращает альтернативное значение, указанное в правой части выражения. В противном случае он возвращает исходное значение.
Так, например, следующий код установит для 'Foo' значение по умолчанию, если оно равно нулю:
Foo = Foo || "Default Value"
Это иногда называют оператором объединения.
Он поддерживается в других языках, таких как Ruby и Perl. C # имеет ?? оператор, который делает то же самое.