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');
}チャレンジ
簡単ゲームキャラクターを使って、null対応アクセス演算子(?.)を示すDartプログラムを作成しましょう。
playerNameというnullableなString変数を作成し、nullを設定しますplayerScoreというnullableなint変数を作成し、100を設定します- null対応アクセス演算子(
?.)を使ってplayerNameの長さを取得し、nameLengthという変数に保存します - 次のメッセージを出力します:
Player name length: X(XはnameLengthの値です) playerNameを"Champion"に更新します- 再びnull対応アクセス演算子を使って更新後の長さを取得し、
nameLengthに保存します - 更新後のメッセージを出力します:
Player name length: X(Xは新しい値です) - 次の形式でプレイヤーのスコアを出力します:
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}");
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Dartオンラインコンパイラ