2015年10月4日日曜日

Null の扱い(Null-aware operators)

8/31 に Dart 1.12 がリリースされました。
(UP が遅くなってしまいました。。。)


今回のリリースで追加された機能の説明に入る前に次のコードをご覧ください。
var isNull = null;
isNull.toString();


多くの言語では null という概念に悩まされます。
上のコードでは toString() というモジュールを実行しようとしていますが、実行元のオブジェクトが null であるために例外が発生してしまいます。
#いわゆるヌルポ(NullPointerException)ですね


多くのプログラマは、この null を常に意識してコーディングせねばならず、他人の書いたモジュールの返り値に null が含まれるかどうかまで気にしないといけません。


今回の Dart のアップデートでこの null に対するわずらわしさを解消、とまではいきませんが、軽減するような機能が追加されました。
Null-aware operators です。




Dart News & Updates」で紹介されていたコードをそのまま載せましたが、各演算子に「?」を付けることで null の可能性があるオブジェクトの扱いをシンプルにしてくれます。
var isNull = null;
isNull?.toString();


toString() の前に「?」を付けることで、オブジェクトが null の場合でも例外を発生せず、後続へ流れます。
確かに便利だな~と思います。


Null-aware operators にはいろいろな種類がありますので、別の記事でまとめようと思います。


--- 参考もと
http://news.dartlang.org/2015/08/dart-112-released-with-null-aware.html

0 件のコメント:

コメントを投稿