Null対応演算子
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という名前のnull許容String変数を宣言し、nullを設定しますuserAgeという名前のnull許容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)自分で試してみよう
void main() {
// null許容の変数を宣言する
String? username = _;
int? userAge = _;
// デフォルト値を設定するためにnull対応演算子を使用する
String displayName = username ?? _;
int displayAge = userAge ?? _;
// 初期値を出力する
print("Username: $displayName (default value used)");
print("Age: $displayAge (default value used)");
// 変数を更新する
username = _;
userAge = _;
// null対応演算子を再度使用する
displayName = username _ "Guest";
displayAge = userAge _ 18;
// 更新後の値を出力する
print("Username: $displayName (original value used)");
print("Age: $displayAge (original value used)");
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Dartオンラインコンパイラ