0Pricing
Dart Academy · レッスン

カスケード演算子(..)

1つのオブジェクトに対する呼び出しを連鎖させる

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

繰り返し記述の問題

1つのオブジェクトを設定するとき、その名前を毎行繰り返し書くことがよくあります。Dartのcascadeを使えば、その繰り返しを省き、処理そのものに集中できます。

2つのドットを使う

cascade operatorは、ピリオドを2つ並べた記法です。チェーンを終わらせずに、オブジェクトのメソッドを呼び出したりフィールドを設定したりできます。

var b = StringBuffer()
  ..write('Hi')
  ..write('!');

オブジェクトを返す

重要なのは、cascadeがメソッドの結果ではなく、常に元のオブジェクトを返すことです。そのため、好きなだけチェーンを続けられます。

cascadeでフィールドを設定する

メソッドを呼び出すだけでなく、cascadeを使ってassign fieldsもできます。各行で、同じ新しいオブジェクトの別の部分を設定できます。

var p = Paint()
  ..color = blue
  ..width = 4;

cascadeを使わない場合

cascadeを使わない場合は、オブジェクトを変数に代入し、そのvariableを毎行書く必要があります。動作はしますが、記述が冗長になります。

var b = StringBuffer();
b.write('a');
b.write('b');

cascadeを使った場合

cascadeを使うと、同じ設定を1つのすっきりしたexpressionにまとめられます。オブジェクト名は1度だけ書き、各処理をそこから続けます。✨

var b = StringBuffer()
  ..write('a')
  ..write('b');

cascadeは式です

チェーン全体が1つのexpressionなので、そのまま変数に代入できます。設定済みのオブジェクトをすぐ使える状態で取得できます。

呼び出しと代入を混ぜる

1つのcascadeの中で、メソッド呼び出しとフィールド代入を自由にmixできます。Dartは各行を上から下へ、同じオブジェクトに適用します。

var list = []
  ..add(1)
  ..length;

セミコロンに注意する

cascadeチェーンも1つの文なので、semicolonは最後に1つだけ置きます。チェーンの途中に置くと、チェーンが2つに分かれてしまいます。

cascadeが活躍する場面

cascadeは、buildersや設定用オブジェクトに最適です。たとえば、StringBufferや、いくつかの調整が必要なFlutterウィジェットで役立ちます。

cascadeとメソッドチェーンの違い

通常のチェーンでは、各メソッドが適切なオブジェクトを返す必要があります。一方、cascadeは常に元のオブジェクトを返すため、メソッドの戻り値を気にしません。

確認問題

cascade operatorは何を返しますか?

まとめ

cascade(..)を使うと、複数行にわたって1つのオブジェクトを設定し、そのオブジェクトを返せます。最後に置くセミコロンは1つだけです。設定がすっきりし、繰り返しも減ります。🎯

よくある質問

「カスケード演算子(..)」レッスンは無料ですか?

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

「カスケード演算子(..)」で何を学びますか?

1つのオブジェクトに対する呼び出しを連鎖させる ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「カスケード演算子(..)」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. カスケード演算子(..)
  2. Null短絡カスケード(?..)
  3. SpreadとNull対応Spread
  4. コレクションのifとfor
← Dart Academyに戻る