目次
概要
nilとは何かの問いにパッと答えられなかったので、まとめようと思います。
nilとは何か
nilとは、「何もない」ことを表すオブジェクトです。nil自体もオブジェクトであり、NilClass クラスの唯一のインスタンスです。「期待したものが何もなかった」ことを表現したい場合に使用します。
TSのnullとの違い
TSのnullは、「オブジェクトの値が無い」ことを表すプリミティブ値です。プリミティブ値とは、厳密にいうとプリミティブ型の値のことで、オブジェクトではない、メソッドを持たないデータのことです。また、プリミティブ型の値は、イミュータブル(immutable)な特性を持ちます。TSのnullもRubyのnilも、どちらも期待した値が存在しない場合に返す用途であることが分かります。
参考記事
class NilClass (Ruby 3.2 リファレンスマニュアル)