閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

|| 演算子

C++ では、

f(false || "hoge");

とした場合、関数 f には真偽値 (true) が渡されますが、JavaScript や多くの Lightweight Language では真となる方の値をそのまま返すようです。この例の場合は文字列が返ってきます。

// JavaScript
alert(false || "hoge");
// Ruby
puts false || "hoge"

上記のようなコードを実行すると、画面には「hoge」が表示されます。かなり便利そう。まあ、三項演算子使えば C++ でもできるけどねっ! (それを省略できるのが利点なんだけど……)