Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

論理演算子??な名前不明なあれが気になって

よくソースコード中でみかけますx=x||0というような「||」。これの名前気になりませんか?私も気になって調べてみました。でも論理演算子という回答しか得られませんでした。

2015/6/25 追記: この記事は今より未熟だった頃の自分が書いた記事ですごく語弊があります。論理演算子が気になってという記事に書きなおしましたのでそちらを参照ください。

2015/7/17 追記: 演算子ノ全テで演算子についてまとめてみました。そちらも参照ください。

なぜ論理演算子だと不満なの

なんだかどちらかというと三項演算子(?と:を使うあれです)の仲間っぽいなーと思ったのと、かえってくる値が常にtrue or falseじゃないところが論理演算子っぽくないなーと思ったからです。

まあここまではどうでもいいのです。それより気になったのが、右辺にbreakを入れられないところです。関数・変数じゃないから??まあ確かに一応値を返すものという定義の元にはbreak返されても困るしあってる気がするのです。でも、ifの代用にも使えるのにbreakとか入れないと若干不便に感じます。

ちなみに右辺で変数に代入するときはかっこでかこまないといけないらしいですね。これも謎仕様の一つです。

a==b&&c=d//エラー がでます。
a==b&&(c=d)//こっちが正解

おわりに

この謎仕様、変わることはないと思います。今更変えると世界規模で混乱が生じますからね。悲しいことです。