Null対応演算子:?.、??、!
null値を安全に読み取り、デフォルト値を設定する
「Null対応演算子:?.、??、!」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。
nullかもしれない値を扱う
Nullableの値は慎重に扱う必要があります。Dartのnull-aware演算子を使えば、値の読み取りとデフォルト値の設定を短い1ステップで行えます。✨
安全呼び出し演算子
?.を使うと、オブジェクトがnullでない場合にだけメンバーを呼び出せます。nullの場合、式全体がnullになります。
String? name;
int? len = name?.length;nullでもクラッシュしない
?.を使うと、nullのオブジェクトは例外を投げずに処理を短絡します。プログラムはそのまま安全に動き続けます。
print(name?.toUpperCase());if-null演算子
??演算子は代替値を指定します。左辺の値を返し、左辺がnullの場合は右辺の値を返します。
String label = name ?? 'Guest';2つを連結する
2つを組み合わせましょう。?.で安全に読み取り、??でデフォルト値を指定すれば、必ず利用可能な値を得られます。
int len = name?.length ?? 0;nullの場合に代入する
??=演算子は、変数が現在nullの場合にだけ代入します。デフォルト値を一度だけ設定する便利な方法です。
name ??= 'Anonymous';bang演算子
!演算子は、値が今nullではないと断言し、Nullable型を通常の型に変換します。
int sure = name!.length;bangは約束
!を使うということは、自分で責任を負うという意味です。値が実際にはnullだった場合、実行時に例外が発生するため、控えめに使いましょう。
bangよりチェックを優先する
確信がない場合は、明示的なifテストや??によるデフォルト値のほうが!より安全です。bangは確実な場合だけ使いましょう。
入れ子になったデータを読む
安全呼び出しの?.は複数のリンクを連結でき、エラーを発生させずに最初のnullで停止します。
var city = user?.address?.city;適切なツールを選ぶ
安全に読み取るには?.、デフォルト値を設定するには??、値の存在を証明できる場合だけ!を使いましょう。
クイックチェック
値がnullの場合に代替値を指定する演算子はどれですか?
まとめ
null-awareツールを使いこなせるようになりました。?.は安全に読み取り、??はデフォルト値を指定し、!は確信がある場合にnullではないと断言します。🎯
AI チューターと学ぶ Dart — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「Null対応演算子:?.、??、!」レッスンは無料ですか?
はい。「Null対応演算子:?.、??、!」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。
「Null対応演算子:?.、??、!」で何を学びますか?
null値を安全に読み取り、デフォルト値を設定する ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Dart Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Null対応演算子:?.、??、!」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDart Academyレッスンでコードを書いて実行できますか?
はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 1行関数のアロー構文
- 匿名関数とクロージャ
- Nullable型と疑問符
- Null対応演算子:?.、??、!