「Null条件演算子」「エルビス演算子」とは? IT用語になぜエルビス?11個のクールな技術用語とスラング【第2回】

IT業界の技術用語やスラングは独特だ。「Null条件演算子」「エルビス演算子」はどのような演算子を指し、どのような場合に用いることができるのかを解説する。

2024年01月23日 05時00分 公開
[Darcy DeCluteTechTarget]

関連キーワード

プログラマー | プログラミング


 ソフトウェアエンジニアは、IT業界で飛び交う記号や用語、文字の組み合わせに、独特の名前を付けたがるものだ。そうした技術用語とスラング11個のうち、本稿は3つ目と4つ目を紹介する。

用語3.Null条件演算子

 開発者は、「Nullオブジェクト」(存在しないオブジェクト)に対するメソッド(操作)を呼び出すことによる例外「NullPointerException」を回避するために、Null条件演算子(?.)を利用できる。オブジェクトとは、データとメソッドをまとめたものだ。Null条件演算子を使うことで、変数やオブジェクトがnull(何も指していない状態)かどうかをチェック可能だ。

 Null条件演算子は、チェック対象がnullの場合、nullを返す。Nullではない場合は、例外をスロー(呼び出し)せずに、対象のオブジェクトのプロパティを呼び出すかどうかを判断する。下記の例において、オブジェクト「car」が初期化されていない場合、この操作はnullを返す。carがNullオブジェクトではなければ、「goFast()」メソッドを呼び出す。

car?.goFast();

用語4.エルビス演算子

 「三項演算子」は、2つの値を比較し、真ならクエスチョンマークの後にある1つ目の値を返し、偽であればその次にある2つ目の値を返す。

 プログラミング言語「Java」で書かれた以下のサンプルプログラムを見てみよう。1行目で変数「result」に代入する値は、乱数を生成するメソッド「Math.random()」で生み出した数値が0より小さいかどうかによって異なる。このときエルビス演算子を使い、乱数が0より小さければ「Elvis」、0以上であれば「Presley」をresultに代入する。2行目は標準出力に文字列を出力するメソッド「System.out.print」により、乱数の数値に応じて「The random number is Elvis」または「The random number is Presley」という文字列を出力するという流れだ。

var result = (Math.random() < 0) ? "Elvis" : "Presley";
System.out.print("The random number is " + result);
// 乱数が0より小さければ「Elvis」、0以上であれば「Presley」と出力する

 三項演算子のうち、条件が真の場合の値を省略したものを「エルビス演算子」(?:)と呼ぶ。つまり次の例のように、最初のクエスチョンマーク後の値は空白になる。この例は、プログラミング言語「Kotlin」を用いている。

var result = (Math.random() < 0) ? : "I'm all shook up";
// 乱数が0以上であれば「I'm all shook up」(注)を代入する

※注:エルビス・プレスリー氏の楽曲「All Shook Up」に登場するフレーズ。

 エルビス演算子と呼ばれるのは、エルビス演算子を90度回転させると、エルビス・プレスリー氏の前髪と目のように見えるからだ。プログラミング言語「C#」では、「?.」の組み合わせをエルビス演算子と呼ぶことがある。


 次回は、5つ目と6つ目の用語を紹介する。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news176.jpg

「伊右衛門」「日清麺職人」「鍋キューブ」に見る2024年上半期食品・飲料トレンドは「うま濃い余韻」
食品メーカーの商品開発やマーケティング支援などを行う味香り戦略研究所は、2024年の食...

news076.jpg

オラクルが広告事業から撤退へ ポストCookie時代の業界地図は変わるか?
Oracleは「Responsys」「Moat」「BlueKai」などの買収を重ねて広告部門を構築してきた。...

news068.jpg

琉球泡盛「残波」「海乃邦」の海外展開を例に考える日本のブランドが持つべき視点
日本のブランドが海外展開で持つべき視点とはどのようなものか。2024年4月にI&CO APAC代...