C++ では、
f(false || "hoge");
とした場合、関数 f には真偽値 (true) が渡されますが、JavaScript や多くの Lightweight Language では真となる方の値をそのまま返すようです。この例の場合は文字列が返ってきます。
// JavaScript alert(false || "hoge"); // Ruby puts false || "hoge"
上記のようなコードを実行すると、画面には「hoge」が表示されます。かなり便利そう。まあ、三項演算子使えば C++ でもできるけどねっ! (それを省略できるのが利点なんだけど……)