0Pricing
Dart Academy · レッスン

デフォルト値とrequired

パラメーターを省略可能または必須にする

「デフォルト値とrequired」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

適切なフォールバック

default valueとは、呼び出し側がパラメーターを省略したときにDartが使う代替値です。毎回、明らかな選択肢を渡す手間を省けます。

名前付きパラメーターのデフォルト値

等号を使うと、名前付きパラメーターにdefaultを指定できます。呼び出し側が省略した場合、Dartはnullではなくその値を使用します。

void greet({String name = "friend"}) {
  print("Hi $name");
}

デフォルト値で呼び出す

パラメーターを省略するとdefaultが使われます。値を渡せば、その呼び出しに限ってフォールバック値を上書きできます。

greet();            // Hi friend
greet(name: "Ada"); // Hi Ada

省略可能な位置指定パラメーターのデフォルト値

角かっこで囲んだ省略可能な位置指定パラメーターにもdefaultを指定できるため、暗黙的にnullになることを防げます。

int pow(int base, [int exp = 2]) {
  return base * exp;
}

デフォルト値は定数でなければなりません

デフォルト値はcompile-time constantでなければなりません。リテラルやconst値は使えますが、通常の変数や関数呼び出しは使えません。

void f({int n = 10}) {} // ok
// void g({int n = x}) {} // error

requiredキーワード

名前付きパラメーターにrequiredを付けると、呼び出し側に指定を強制できます。指定し忘れると、実行時の予期せぬ問題ではなくコンパイルエラーになります。

void send({required String to}) {}

requiredが重要な理由

名前付きパラメーターはデフォルトで省略可能なため、必要な値が欠けることがあります。requiredを使えば、呼び出し側が必ず値を渡すことを保証できます。🔒

null非許容型とrequired

null非許容の名前付きパラメーターには、requiredを付けるかデフォルト値を指定する必要があります。そうしなければ、Dartは値が入っていることを保証できません。

void box({required int w, int h = 10}) {}

requiredとデフォルト値の組み合わせ

1つの関数で両方を組み合わせることもできます。一部のパラメーターをrequiredにし、残りには適切なデフォルト値を指定します。これにより、明確で柔軟なインターフェースを提供できます。

void user({required String id, bool active = true}) {}

デフォルト値なしのnull許容型

名前付きパラメーターがnullableなら、単純にnullをデフォルト値にできます。requiredも明示的なデフォルト値も必要ありません。

void note({String? text}) {} // text may be null

よりすっきりした呼び出し元

適切なデフォルト値を設定すると、呼び出し元のコードを短くできます。呼び出し側は通常と異なる値だけを渡し、一般的なケースはdefaultに任せられます。✨

クイックチェック

requiredとデフォルト値について理解できているか確認しましょう。

まとめ

これで、省略可能なパラメーターにdefaultsを設定し、重要なパラメーターをrequiredで必須にできるようになりました。関数がより安全で便利になりました。🎉

よくある質問

「デフォルト値とrequired」レッスンは無料ですか?

はい。「デフォルト値とrequired」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「デフォルト値とrequired」で何を学びますか?

パラメーターを省略可能または必須にする ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「デフォルト値とrequired」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 関数の宣言と戻り値の型
  2. 位置指定パラメーターと名前付きパラメーター
  3. デフォルト値とrequired
  4. 第一級オブジェクトとしての関数
← Dart Academyに戻る