記事の内容
この記事では、Dartの特殊な4つの記法について説明します。
「?.」「??」「...」という記法を使うと、よりシンプルにコードを書くことができます。
あと、「!」という記法についても説明します。
「?.」
このコードはエラーが出ます。
なぜならば、nullに対してメソッドを呼び出そうとしているからです。
このコードでも動かすためには、こう書きます。
「?.」という記法を使って、「target?.length」と書けば、nullが返ってきます。
Railsでいう「try」というメソッドと同じです。
「??」
上のコードを、「??」を使って簡潔に書いてみます。
「??」は「nullだったならば」という意味です。
「...」
次に、「...」というSpreads記法についても説明します。
Spreads記法は、値を展開して渡します。
ただし、上のコードでは、nullが入るとエラーが出ます。
その場合は、「?」をつければ動作します。
「!」
まずは、コンパイルが通らないコードです。
上記のコードを、「!」を使って動かします。
ただ、もちろん、エラーが出ます。
式の値は決してNULLであってはならないと信じているけど、変数の型を変更することができない。
そして、もし間違っていた場合には、実行時に例外が出ることを覚悟している場合に使える記法です。
-
【Dart入門】「null operators」を使う方法
null operators(??) Mapのあるkeyにある値だけを合計する処理をしていますが、このコードではエラーが出ます。 null operatorsを使うことで、問題を解決しています。