2015年11月1日日曜日

Null-aware operators : x?.m()

Null-aware operators について一つずつ事例を挙げて紹介していきます。


??」「??=」「x?.p」に続き 4 件目は「x?.m()」です。
「x?.m()」といった記載をし、オブジェクト x が null でない場合のみ関数 m() を実行するという意味です。




Knight クラスのオブジェクト piece は null なので、その関数である jump() を実行しようとすると普通は例外が発生してしまいますが、実行の際に「?.」を利用することで例外を回避することができます。


null の参照例外を回避できるというのは絶大で、この記載方法をスタンダードとしていくべきだと思います!
超主観ですが(笑)


ここまで前回の記事のパクリですが(笑)、「x?.p」とはセットで利用するものだと考えます。
オブジェクトのプロパティ参照か、関数実行かの違いですしね。


Null-aware operators についてお伝えしてきましたが、Dart を用いたコーディングでは必須といえる技術になりますので、ぜひ活用していきたいですね!


今回は以上です。