Операторы с учётом null: ?., ?? и !
Безопасное чтение отсутствующих значений и задание значений по умолчанию
«Операторы с учётом null: ?., ?? и !» — бесплатный урок Dart Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.
Работа со значениями, которые могут быть null
Со значениями, допускающими null, нужно обращаться осторожно. Операторы для работы с null в Dart позволяют прочитать значение и задать значение по умолчанию одним коротким шагом. ✨
Оператор безопасного вызова
Используйте ?., чтобы обращаться к члену объекта только тогда, когда объект не равен null. Если объект равен null, всё выражение также становится равным null.
String? name;
int? len = name?.length;Null не вызывает сбой
С помощью ?. объект со значением null просто прекращает вычисление, а не вызывает исключение. Ваша программа продолжает спокойно работать.
print(name?.toUpperCase());Оператор if-null
Оператор ?? предоставляет запасной вариант. Он возвращает левое значение или правое, если левое равно null.
String label = name ?? 'Guest';Объединение двух операторов
Объедините их: безопасно прочитайте значение с помощью ?. и задайте значение по умолчанию с помощью ??, чтобы всегда получить пригодное для использования значение.
int len = name?.length ?? 0;Присваивание при null
Оператор ??= присваивает значение только тогда, когда переменная в данный момент равна null. Это удобный способ задать значение по умолчанию один раз.
name ??= 'Anonymous';Оператор восклицательного знака
Оператор ! утверждает, что значение прямо сейчас не равно null, и преобразует тип, допускающий null, в обычный тип.
int sure = name!.length;Восклицательный знак — это обещание
Используя !, Вы берёте ответственность на себя. Если значение на самом деле равно null, во время выполнения возникнет ошибка, поэтому применяйте этот оператор умеренно.
Предпочитайте проверки восклицательному знаку
Если Вы не уверены, явная проверка if или значение по умолчанию через ?? безопаснее, чем !. Используйте восклицательный знак только при полной уверенности.
Чтение вложенных данных
Безопасный вызов ?. можно объединять в цепочку из нескольких звеньев: он остановится на первом null и не вызовет ошибок.
var city = user?.address?.city;Выбирайте правильный инструмент
Используйте ?. для безопасного чтения, ?? для значения по умолчанию, а ! — только когда можете доказать, что значение существует.
Быстрая проверка
Какой оператор предоставляет запасной вариант, если значение равно null?
Повторение
Вы освоили инструменты для работы с null: ?. безопасно читает значения, ?? задаёт значения по умолчанию, а ! утверждает отсутствие null, когда Вы в этом уверены. 🎯
Изучай Dart с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Операторы с учётом null: ?., ?? и !» бесплатный?
Да — полный текст урока «Операторы с учётом null: ?., ?? и !» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.
Чему я научусь в уроке «Операторы с учётом null: ?., ?? и !»?
Безопасное чтение отсутствующих значений и задание значений по умолчанию Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Dart Academy?
Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Операторы с учётом null: ?., ?? и !»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Dart Academy?
Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Стрелочный синтаксис для однострочных функций
- Анонимные функции и замыкания
- Типы, допускающие null, и вопросительный знак
- Операторы с учётом null: ?., ?? и !