エルビス演算子について
こんにちは森田です。
さっそくですが、みなさん「エルビス演算子」って使ったことありますか?
フロントエンドですとあまり聞き慣れないかもしれませんが、由来なども面白かったので紹介します。
エルビス演算子とは
エルビス演算子(elvis operator)は ?:
という記号を用います。
今回は PHP で書いてみます。
$hoge = $a ?: $b;
$a
が true だったら $a
をそのまま返し、false だったら $b
を返します。
三項演算子で同じように書くと以下のようになります。
$hoge = $a ? $a : $b;
?:
って三項演算子をくっつけたような見た目ですよね 。
実際、三項演算子のシンタックスシュガーという扱いらしいです。
JavaScript にエルビス演算子は使える?
使えないです。仕様としてありません。
しかし、以下のように論理和演算子で同様のことができます。
const hoge = a || b;
これでもエルビス演算子と同様に、a
が true だったら a
をそのまま返し、false だったら b
を返します。
React の JSX の中でよく使うお馴染みの書き方ですね。
エルビス演算子は日本語ではなんと言う?
比較演算子や倫理演算子など演算子は日本語で呼びがちですが、エルビス演算子は日本語呼びは無く、そのまま「エルビス演算子」と呼びます。
というのも、 ?:
が エルビス・プレスリーに似ていることが由来だそうです。
90度回転させて、?
がリーゼント、:
が目みたいです。
?:
見えるような、見えないような、、