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.
お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年3月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
Cookieレスの時代 「リターゲティング広告」にできることはまだあるか?
プライバシーの在り方が見直されようとしているこの変革期をデジタル広告はどう乗り越え...
ドン・キホーテが「フォートナイト」に登場 狙いは?
「フォートナイト」のインタラクティブな体験を通じて、国内外の若年層や訪日観光客との...