2024年01月23日 05時00分 公開
特集/連載

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

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

[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 マーケティング新着記事

news067.jpg

Xにおける「バレンタイン」を含む言及数は過去4年間で最多だがUGC数は最少 どういうこと?
ホットリンクは、X(旧Twitter)に投稿されたバレンタインに関するUGCについて調査しまし...

news061.jpg

Expedia幹部が語る旅行体験向上のためのAI活用とグローバルブランド戦略
Expediaは、日本での18周年を記念してブランドを刷新した。テクノロジーへの投資を強化し...