Menu
CoddyTech

Null対応アクセス

CoddyのDartジャーニー「基礎」セクションの一部。レッスン 29/94。

null対応アクセス演算子(?.)は、nullの可能性があるオブジェクトのプロパティに安全にアクセスし、実行時エラーを防ぎます。

void main() {
  String? name = 'Dart';
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}

null値の場合、クラッシュする代わりにnullを返します。

void main() {
  String? name = null;
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}
challenge icon

チャレンジ

簡単

ゲームキャラクターを使って、null対応アクセス演算子(?.)を示すDartプログラムを作成しましょう。

  1. playerNameというnullableなString変数を作成し、nullを設定します
  2. playerScoreというnullableなint変数を作成し、100を設定します
  3. null対応アクセス演算子(?.)を使ってplayerNameの長さを取得し、nameLengthという変数に保存します
  4. 次のメッセージを出力します:Player name length: X(XはnameLengthの値です)
  5. playerNameを"Champion"に更新します
  6. 再びnull対応アクセス演算子を使って更新後の長さを取得し、nameLengthに保存します
  7. 更新後のメッセージを出力します:Player name length: X(Xは新しい値です)
  8. 次の形式でプレイヤーのスコアを出力します:Player score: 100

自分で試してみよう

void main() {
  // ここでnull許容の変数を宣言する
  String? playerName = _;
  int? playerScore = _;
  
  // ?. 演算子を使ってplayerNameの長さを取得する
  int? nameLength = playerName_.length;
  
  // 最初の名前の長さを表示する
  print("Player name length: ${nameLength}");
  
  // playerNameを更新する
  playerName = _;
  
  // ?. 演算子を使って更新後の長さを取得する
  nameLength = playerName_.length;
  
  // 更新後の名前の長さを表示する
  print("Player name length: ${nameLength}");
  
  // プレイヤーのスコアを表示する
  print("Player score: ${playerScore}");
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Dartオンラインコンパイラ