Nullable型と疑問符
値がnullになり得ることを示す
「Nullable型と疑問符」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。
10億ドルのバグ
nullによるエラーは、世界中のアプリをクラッシュさせています。Dartのnull安全は、プログラムを実行する前にその多くを防ぎます。✨
デフォルトではnull非許容
デフォルトでは、Dartの変数にnullを格納することはできません。このintには、必ず実際の数値が入っていなければなりません。
int age = 30;nullは拒否される
通常の型にnullを代入しようとすると、コンパイラーに拒否されます。そのエラーは本番環境ではなく、編集時に現れます。
int age = null;疑問符を追加する
型に?を付けると、nullを許可できます。これで変数には値が入る場合も、何も入らない場合もあります。
int? age = null;Nullableは「場合によってはnull」
Nullable型は、その値が存在しない可能性があることを示します。空の場合を注意深く処理するという約束です。
String? nickname;デフォルト値はnull
初期化されていないNullable変数は自動的にnullで始まるため、先に宣言して後から値を設定できます。
double? price;
print(price);直接は使えない
Nullableの値を、常に存在するかのように扱ってメソッドを呼び出すことはできません。コンパイラーによって、まずチェックするよう強制されます。
String? name;
print(name.length);チェックによる型の絞り込み
nullではないことを確認するifテストにより、Dartは型を昇格できます。そのため、ブロック内では安全に使用できます。
if (name != null) {
print(name.length);
}関数の戻り値もNullable
戻り値の型もNullableにできます。ここでの?は、関数が何も返さない可能性を示します。
String? findUser(int id) => null;より厳密な型を選ぶ
値が本当に常に存在する場合は、null非許容型を優先してください。存在しないことに意味がある場合だけNullableを選びましょう。
最初から安全に
健全なnull安全により、型に?が付いていなければ、コードのどこでも決してnullにならないと信頼できます。
クイックチェック
型の後ろにある?は何を意味しますか?
まとめ
Dartの型はデフォルトでnull非許容であり、?を付けるとnullを保持する可能性がある型になることを学びました。🎯
よくある質問
「Nullable型と疑問符」レッスンは無料ですか?
はい。「Nullable型と疑問符」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。
「Nullable型と疑問符」で何を学びますか?
値がnullになり得ることを示す ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Dart Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Nullable型と疑問符」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDart Academyレッスンでコードを書いて実行できますか?
はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 1行関数のアロー構文
- 匿名関数とクロージャ
- Nullable型と疑問符
- Null対応演算子:?.、??、!