0Pricing
Dart Academy · Урок

Оператор каскада (..)

Цепочка вызовов для одного объекта

«Оператор каскада (..)» — бесплатный урок Dart Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.

Проблема повторения

При настройке одного объекта часто приходится повторять его имя в каждой строке. Каскад в Dart позволяет убрать это повторение и сосредоточиться на самой работе.

Знакомство с двумя точками

Каскадный оператор состоит из двух точек. Он вызывает метод или задаёт поле объекта, не завершая цепочку.

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

Он возвращает объект

В этом и заключается особенность: каскад всегда возвращает исходный объект, а не результат метода. Поэтому цепочку можно продолжать сколько угодно.

Задание полей с помощью каскадов

С помощью каскада можно не только вызывать методы, но и задавать поля. Каждая строка настраивает ещё одну часть того же нового объекта.

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

До каскадов

Без каскадов объект сначала присваивается переменной, а затем эта переменная указывается в каждой отдельной строке. Это работает, но выглядит многословно.

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

После каскадов

С каскадами та же настройка превращается в одно аккуратное выражение. Имя объекта указывается один раз, а каждый шаг выполняется относительно него. ✨

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

Каскад — это выражение

Поскольку вся цепочка является одним выражением, её можно сразу присвоить переменной. В результате получается готовый к использованию настроенный объект.

Сочетание вызовов и присваиваний

В одном каскаде можно свободно сочетать вызовы методов и присваивания полей. Dart применяет каждую строку к одному и тому же объекту сверху вниз.

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

Следите за точкой с запятой

Каскадная цепочка остаётся одним оператором, поэтому точка с запятой ставится только в самом конце. Если поставить её в середине, цепочка разделится на две части.

Где каскады особенно полезны

Каскады идеально подходят для объектов-построителей и конфигурационных объектов, например для StringBuffer или виджета Flutter, которому нужно быстро задать несколько параметров.

Каскад и цепочка методов

В обычной цепочке каждый метод должен возвращать подходящий объект. Каскаду это не важно, поскольку он всегда возвращает исходный объект.

Быстрая проверка

Что возвращает каскадный оператор?

Итоги

Каскад (..) настраивает один объект в нескольких строках, возвращает этот объект и завершается одной точкой с запятой. Настройка становится чище, а повторений — меньше. 🎯

Часто задаваемые вопросы

Урок «Оператор каскада (..)» бесплатный?

Да — полный текст урока «Оператор каскада (..)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.

Чему я научусь в уроке «Оператор каскада (..)»?

Цепочка вызовов для одного объекта Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Dart Academy?

Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Оператор каскада (..)»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Dart Academy?

Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Оператор каскада (..)
  2. Каскады с сокращением при null (?..)
  3. Spread и spread с учётом null
  4. if и for в коллекциях
← Назад к Dart Academy