幾つかのプログラミング言語に存在する二項演算子で、第一項がnullでなければ第二項を、nullであればnullまたはそれに類する結果を返す演算子の一般名称。プログラミング言語により呼び方の違いが大きい。
C/C++の三項演算子で書くと ( ( x != NULL) ? y : x ) を意味するコードを、より簡単に書くことができる構文糖の一種とみなすことができる。
C#、Perl (おそらく6以降)、Swift、Kotlin、JavaScript(ECMAScript 2020以降)、Ruby (2.3.0以降)などのプログラミング言語やスクリプト言語で見られる。
C#においては、C# 6.0以降でnull条件付きのメンバーアクセスの ?. および ?[] に対応した。
Perlバージョン6では、null条件付きのメンバーアクセスとして .? が利用できる。?が.の後であることに注意。
Swiftにおいては、null条件付きのメンバーアクセスとして ?. および ?[] に対応している。
Kotlinにおいては、null条件付きのメンバーアクセスとして ?. および ?[] に対応している。
ECMAScript 11th edition (ECMAScript 2020)から、トレンドを輸入する形で「オプショナルチェイニング演算子」の名で導入された。
null条件付きのメンバーアクセスとして ?. が利用でき、. と比してnullableなオブジェクトに対して安全にアクセスできる。オブジェクトがnullまたはundefiendだった場合、.でれば実行エラーとなるが、?.の場合はundefinedを返却する。
Rubyにおいては、2.3.0以降でnull条件付きのメンバーアクセスの &. に対応した。
他の言語と違い使用する記号が?ではなく&である。また、ぼっち演算子(lonely operator)という名が付けられている。
用語の所属
演算子
関連する用語
null合体演算子
エルビス演算子