2021/2/15 Dart:null aware演算子について

 

Dartではnullである可能性がある変数を扱う時に便利な演算子が用意されています。

一つ目は??=演算子です。

変数の現在の値がnullの時に代入を行います。変数の現在の値がnullでない時は代入が行われません。

int a; // <-- 初期化していないのでaの値はnull。
a ??= 3;
print(a); // <-- Prints 3.

a ??= 5; // <-- aの値は3。つまりaの値はnullではない。なので5は代入されない。
print(a); // <-- Still prints 3.

 

もう一つのnull-aware演算子は??です。

??演算子は、??演算子の左側の式の値がnullでない場合、左側の式の値を返します。

??演算子の左側の式の値がnullの場合、??演算子の右側の式の値を返します。

print(1 ?? 3); // <-- Prints 1.