Null-aware 演算子
CoddyのDartジャーニー「基礎」セクションの一部 — レッスン 28/94。
null 合体演算子 (??) は、左側の式が null でない場合はその式を返し、そうでなければ右側の式を返します。
void main() {
String? name = 'Dart';
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
String? name = null;
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
int? score; // 初期値がなく、デフォルトで null になる
int displayScore = score ?? 0;
print('Your score: $displayScore');
// プログラムの後半で、score に値が設定される
score = 100;
displayScore = score ?? 0;
print('Your updated score: $displayScore');
}チャレンジ
簡単Dart における null合体演算子 (??) をデモンストレーションするプログラムを作成してください:
- 名前が
usernameの nullable String 変数を宣言し、nullに設定してください - 名前が
userAgeの nullable int 変数を宣言し、nullに設定してください usernameが null の場合に新しい変数displayNameにデフォルト値"Guest"を割り当てるために null合体演算子を使用してくださいuserAgeが null の場合に新しい変数displayAgeにデフォルト値18を割り当てるために null合体演算子を使用してください- 以下の正確な形式で値を印刷してください:
Username: Guest (default value used)
Age: 18 (default value used)次に:
usernameを"DartUser"に更新してくださいuserAgeを25に更新してください- 更新された値でステップ 3 と 4 を繰り返してください
- 以下の正確な形式で値を印刷してください:
Username: DartUser (original value used)
Age: 25 (original value used)チートシート
null 合体演算子 (??) は、左の式が null でない場合は左の式を、そうでなければ右の式を返します。
String? name = null;
String displayName = name ?? 'Guest'; // name が null のため 'Guest' を返します
int? score = 100;
int displayScore = score ?? 0; // score が null でないため 100 を返します自分で試してみよう
void main() {
// nullable変数を宣言
String? username = _;
int? userAge = _;
// デフォルト値のためにnull-aware演算子を使用
String displayName = username ?? _;
int displayAge = userAge ?? _;
// 初期値を印刷
print("Username: $displayName (default value used)");
print("Age: $displayAge (default value used)");
// 変数を更新
username = _;
userAge = _;
// 再度null-aware演算子を使用
displayName = username _ "Guest";
displayAge = userAge _ 18;
// 更新された値を印刷
print("Username: $displayName (original value used)");
print("Age: $displayAge (original value used)");
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。