[Dart]はてな2つ(??)は何?

Dart

どうも、ちょげ(@chogetarou)です。

Dartで登場する「??」は何かを解説します。

スポンサーリンク

??とは

インターフェース, インターネット, プログラム, ブラウザ, Www

「??」は、値がnullかをチェックし、nullかどうかで返す値を切り替える演算子です。

具体的な挙動としては、まず、「??」の左の値がnullかをチェックします。

そして、「??」の左の値がnullでなければ左の値を返します。

「??」の左の値がnullだったら、右の値を返します。

//valueがnullならば、value2を返す。
//valueがnullでなければ、valueを返す。

value ?? value2

「??」は、nullチェックをし、nullかどうかで値を切り替えられる便利な演算子です。

「??」を三項演算子やif文で記述すると、次のようになります。

//「??」を三項演算子で
value == null ? value2 : value

//「??」をif文で
if (value == null) {
    return value2;
} else {
    return value;
}
スポンサーリンク

まとめ

はてな2つ(??)は、nullチェックをし、nullかどうかで値を切り替える演算子です。

コメント

タイトルとURLをコピーしました