Flutter Null Aware Operator 記法

f:id:MasayaStripes:20200309093356j:plain


サンプルで以下のソースコードを記載します。

@override
Widget build(BuildContext context) {
String mayMargin = '15';
double myMarginAsDouble;

try {
myMarginAsDouble = double.parse(mayMargin);
} catch (e) {
print(e);
myMarginAsDouble = 30.0;
}
return Scaffold(
body: Container(
// myMarginAsDoubleじゃなければ、デフォルトで30.0
margin: EdgeInsets.all(myMarginAsDouble ?? 30.0),
color: Colors.red,
),
);
}

 

ここで、見ていただきたいのは以下のコードです。

margin: EdgeInsets.all(myMarginAsDouble ?? 30.0),

ここでは、"myMarginAsDouble ?? 30.0" の意味は、

myMarginAsDouble が false であれば、デフォルトの値である30.0が値として入ります。