エルビス演算子 【elvis operator】

概要

エルビス演算子(elvis operator)とは、いくつかのプログラミング言語に用意されている演算子の一つで、疑問符コロンを組み合わせて「?:」と記述するもの。左辺が真なら左辺値を、それ以外なら右辺値を返す。

「x ?: y」のように左辺と右辺を取る二項演算子で、左辺のを評価して真偽値の「真」(true)や言語仕様によって真の代わりとなる(非Null値、0以外の数値、空でない文字列など)の場合は左辺値を返し、「偽」(false)や偽とみなされるNull、undefined、0、空文字列など)の場合は右辺値の評価結果を返す。

このような演算はエルビス演算子が無くても三項演算子条件演算子)を用いて「x ? x : y」のように記述することができるが、「が存在すればそのを返し、存在しなければ新しいを返す」処理は頻繁にわれることから、第二項を省略した「x ?: y」を専用の演算子として定義する言語が現れた。C++言語PHPのように三項演算子の第二項の省略によって実現している場合もある。

なお、「が存在しない場合のみ新しいを返す」処理は、JavaScriptPythonPerlなどではOR演算子(||)の短絡評価を利用して記述することができる。これらの言語では「x || y」のように記述すると、xが真かをすでに持っている場合はxのを返して処理を打ち切り、偽あるいはを持たない場合のみyの評価結果が返される。

「エルビス」の語源は米著名ロックミュージシャンのエルビス・プレスリー(Elvis Presley)で、彼を表す欧米の顔文字?:j」に由来する。欧米の顔文字emoticon)は横倒しで、「?」が頭、「:」が両目、「j」が口を表す。疑問符上部の丸い部分で彼の膨らんだ前髪を表現している。

(2023.7.28更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる