null安全
読み:ナル-あんぜん
外語:null safety

 nullが原因となるエラー(NullPointerExceptionなど)を発生させないようにするための仕組み。
目次

概要
 もし言語仕様としてnullが存在しなければ、必然的にNullPointerExceptionも発生しない。
 しかしnullが全く扱えないというのは時として困るので、nullを扱える変数(nullable)と扱えない変数(non-null)に分け、nullを扱える変数(nullable)の場合はnullが生じうる箇所はnullチェックの構文を必須とし、さもなくばコンパイルが通らないようにすることでプログラマーの勘違いによるバグの混入を防ぐ。
 これが、null安全を謳うプログラミング言語に共通して見られる傾向である。

特徴

基本的な仕様
 null安全のプログラミングの仕様は概ね次の通りである。

よくある書式
 言語により異なるが、SwiftやKotlinの場合、型名に?を付けてnullable型の変数とし、non-nullであれば.で書くところnullable型の時は?.と書かなければならず、そう書かねばコンパイルエラーとなる。また式としてnullableとなる場合、エルビス演算子などを用いて処理をしないと同様にコンパイルエラーとなる。
 このようにして、nullとなり得る状況を放置させず、プログラマーに意識させつつ、かつそのための記述方法をできるだけシンプルにして書きやすく設計したものがnull安全なプログラミング言語、ということになる。

再検索