【Flutter/Dart】「?.」「??」「!」記法/使い方/基礎から実践
この記事では、Dartの記法について調べまとめました。使い方やサンプルがあります。
はじめに
下記の記法は、nullの制御に対して使うものをまとめています。
?.
オブジェクトがnullかどうかを調べる時に使用します。
サンプル
void main() { String target = null; var length; if (target?.length == null){ length = 0; } else { length = target.length; } print(length); String target_2 = 'hello'; var length_2; if (target_2 == null){ length_2 = 0; } else { length_2 = target_2.length; } print(length_2); }
??
こちらは参考演算子です。if文と同じ効果を持ちます。
サンプル
void main() { String target = null; var length = target?.length ?? 0; print(length); // 0 String target_2 = 'hello'; var length_2 = target_2?.length ?? 0; print(length_2); // 5 }
!
変数.オブジェクトにnullを許容します。
main() { String? val; try { if (val!.length > 0) { print("0以上です"); } else { print("0です"); } } catch (e) { print('Errorが発生:$e\n'); // Errorが発生:NoSuchMethodError: method not found: 'toString' on null } }
参考