Введение в null-безопасность в Dart
Обычный тип в Dart не допускает null.
Запись с вопросительным знаком помечает
nullable-тип: пустое значение в нем
разрешено и видно уже при чтении кода.
Специальное значение null означает отсутствие
объекта или данных. Его нельзя подставить в обычную
переменную типа String или int:
программа не соберется. Там, где пустота возможна
по смыслу, тип пишут явно, например String?.
Так проще отличить обязательное значение от
необязательного и не пропустить проверку.
Проверка null-безопасности в Dart включена всегда: отключить ее нельзя. Для nullable-значений есть короткие операторы: безопасный доступ, подстановка запасного результата, явная проверка и присваивание только если слева пусто. Они заменяют длинные цепочки условий там, где данных может не хватать: после чтения карты, при разборе строки или при работе с необязательным элементом списка.
Раздел пройдет от самого значения null до
типичных случаев со списками и картами. Цель -
увидеть, как язык заставляет учитывать пустые
значения заранее, и выбрать для каждой задачи
спокойную проверку вместо рискованного обращения
к данным, которых может не быть.