null条件演算子
読み:ぬるじょうけんえんざんし
外語:null-conditional operator

 幾つかのプログラミング言語に存在する二項演算子で、第一項がnullでなければ第二項を、nullであればnullまたはそれに類する結果を返す演算子の一般名称。プログラミング言語により呼び方の違いが大きい。
目次

概要
 C/C++の三項演算子で書くと ( ( x != NULL) ? y : x ) を意味するコードを、より簡単に書くことができる構文糖の一種とみなすことができる。
 C#、Perl (おそらく6以降)、Swift、Kotlin、JavaScript(ECMAScript 2020以降)、Ruby (2.3.0以降)などのプログラミング言語やスクリプト言語で見られる。

特徴

C#
 C#においては、C# 6.0以降でnull条件付きのメンバーアクセスの ?. および ?[] に対応した。

Perl
 Perlバージョン6では、null条件付きのメンバーアクセスとして .? が利用できる。?が.の後であることに注意。

Swift
 Swiftにおいては、null条件付きのメンバーアクセスとして ?. および ?[] に対応している。

Kotlin
 Kotlinにおいては、null条件付きのメンバーアクセスとして ?. および ?[] に対応している。

JavaScript(ECMAScript)
 ECMAScript 11th edition (ECMAScript 2020)から、トレンドを輸入する形で「オプショナルチェイニング演算子」の名で導入された。
 null条件付きのメンバーアクセスとして ?. が利用でき、. と比してnullableなオブジェクトに対して安全にアクセスできる。オブジェクトがnullまたはundefiendだった場合、.でれば実行エラーとなるが、?.の場合はundefinedを返却する。

Ruby
 Rubyにおいては、2.3.0以降でnull条件付きのメンバーアクセスの &. に対応した。
 他の言語と違い使用する記号が?ではなく&である。また、ぼっち演算子(lonely operator)という名が付けられている。

再検索