IT業界の技術用語やスラングは独特だ。「Null条件演算子」「エルビス演算子」はどのような演算子を指し、どのような場合に用いることができるのかを解説する。
ソフトウェアエンジニアは、IT業界で飛び交う記号や用語、文字の組み合わせに、独特の名前を付けたがるものだ。そうした技術用語とスラング11個のうち、本稿は3つ目と4つ目を紹介する。
開発者は、「Nullオブジェクト」(存在しないオブジェクト)に対するメソッド(操作)を呼び出すことによる例外「NullPointerException」を回避するために、Null条件演算子(?.)を利用できる。オブジェクトとは、データとメソッドをまとめたものだ。Null条件演算子を使うことで、変数やオブジェクトがnull(何も指していない状態)かどうかをチェック可能だ。
Null条件演算子は、チェック対象がnullの場合、nullを返す。Nullではない場合は、例外をスロー(呼び出し)せずに、対象のオブジェクトのプロパティを呼び出すかどうかを判断する。下記の例において、オブジェクト「car」が初期化されていない場合、この操作はnullを返す。carがNullオブジェクトではなければ、「goFast()」メソッドを呼び出す。
car?.goFast();
「三項演算子」は、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の豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
ネットの口コミを参考に8割超が商品を購入 最も参考にした口コミの掲載先は?
ホットリンクは、口コミ投稿の経験や購買への影響を調査した結果を発表した。
「生成AIの普及でSEOはオワコン」説は本当か?
生成AIの普及によりSEOが「オワコン」化するという言説を頻繁に耳にするようになりました...
ボストン コンサルティング平井陽一朗氏が語る 日本企業のイノベーションを阻む「5つの壁」
企業の変革を阻む5つの壁とそれを乗り越える鍵はどこにあるのか。オンラインマーケットプ...