Комментарии 13
if let x = nilX { }
При этом можно использовать и вариант x = x, чтобы не плодить новых переменных:
if let x = x { }
Странно почему в Swift это было с первой версии, а в Dart начинают добавлять только сейчас, язык-то достаточно молодой.
Почему не сделали сразу — наверно потому же, почему в автомобилях ремни безопасности обязали использовать только после 1957-го года (судя по википедии), пришло осознание необходимости видимо ;)
Шел 2020-й год. Авторы Дарта заметили null-safety (или Optional) паттерн в остальных языках программирования. :)
Сейчас еще в самом видео добавлю
А не расскажете SQL-щику - в чем проблема с нуллами? Неужели так сложно использовать пустой объект? В SQL никому и в голову не придёт устраивать такие пляски вокруг отсутствия чего-либо. Ну нет и нет, велика беда... Взять математику - там есть понятие пустого множества.
Суть проблемы как раз в том что это касается всех типов. Вот касательно математики - представьте что у вас в формуле "y=x*2" сам x может быть числом, а может не быть вообще - как это обрабатывать? Математика, как в итоге и языки программирования, пришли к мнению что нужен отдельный "тип" - как раз пустое множество. Нул в правильной обработке в общем похож. Так что проблема не в нул как таковом, а скорее в том как это было реализовано до Null-Safety - вообще не по-математичному (если так фамильярно это можно упростить конечно)
Null safety в Dart