0Pricing
Dart Academy · Урок

Логические операторы и короткое замыкание

Объединение условий с помощью and, or и not

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

Объединение условий

Реальные решения часто зависят не от чего-то одного. Dart позволяет объединять условия с помощью логических операторов, чтобы задавать более сложные вопросы. 🧩

И означает оба

Оператор && равен true только тогда, когда обе стороны равны true. Если хотя бы одна сторона равна false, всё выражение равно false.

bool ok = age >= 18 && hasTicket;

Или означает любой из двух

Оператор || равен true, когда хотя бы одна сторона равна true. Он становится false только тогда, когда обе стороны равны false.

bool free = isMember || hasCoupon;

Не инвертирует значение

Поставьте ! перед условием, чтобы инвертировать его. Это удобно, когда нужно проверить противоположное, например что что-то не является пустым.

if (!name.isEmpty) {
  print("Hello");
}

Сочетание операторов

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

bool allow = isAdmin || (loggedIn && verified);

Сокращённое вычисление с &&

Если левая часть && равна false, Dart уже знает, что результат будет false. Правая часть полностью пропускается, чтобы не выполнять лишнюю работу.

if (user != null && user.active) {
  greet(user);
}

Сокращённое вычисление с ||

Если левая часть || равна true, результат уже известен: это true. Dart останавливается и не вычисляет правую часть.

if (cached || fetchFromNetwork()) {
  render();
}

Сокращённое вычисление защищает вас

Такое пропускание нужно не только для ускорения. Оно позволяет левой части && защищать правую, предотвращая ошибки, например чтение нулевого значения.

if (list.isNotEmpty && list.first > 0) {}

Порядок проверок

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

if (file != null && file.exists()) {}

Чтение составной логики

Когда логика становится сложной, сохраняйте её части в хорошо названных переменных типа bool. Понятные имена всегда лучше остроумных однострочных решений.

bool canEdit = isOwner || isEditor;
if (canEdit) save();

Логика делает код умнее

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

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

Что Dart делает с правой частью &&, если левая часть равна false?

Повторение

Вы изучили && для проверки обоих условий, || для проверки любого из них, ! для инверсии, а также узнали, что сокращённое вычисление пропускает лишнюю работу и защищает от ошибок. 🎉

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

Урок «Логические операторы и короткое замыкание» бесплатный?

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

Чему я научусь в уроке «Логические операторы и короткое замыкание»?

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

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

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

Сколько времени занимает урок «Логические операторы и короткое замыкание»?

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

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

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

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

  1. Логические значения и операторы сравнения
  2. if, else if и else
  3. Логические операторы и короткое замыкание
  4. Тернарное выражение и выражение switch
← Назад к Dart Academy