Карточка Junior Dart: типы и null-safety обновлено
Операторы null-safety в Dart
Вопрос
Назовите операторы null-safety в Dart и что делает каждый.
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
?. вызывает член, только если не null (иначе null). ?? возвращает правое значение, если левое null. ??= присваивает, если переменная null. ! утверждает, что значение не null, и бросает исключение, если это не так. ? в типе (String?) разрешает null. ...? раскрывает коллекцию, только если она не null.
Ответ
?. вызывает член, только если не null (иначе null). ?? возвращает правое значение, если левое null. ??= присваивает, если переменная null. ! утверждает, что значение не null, и бросает исключение, если это не так. ? в типе (String?) разрешает null. ...? раскрывает коллекцию, только если она не null.
Разбор
Чаще всего на ревью ругают лишний !: он переносит ошибку из компиляции в рантайм.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Dart: типы и null-safety»
- Dart: канонизация const-объектов
- Dart: деление / и ~/
- Dart: почему не сужается тип публичного поля
- Dart: чем final отличается от const
- collection if и for
- Dart: чтение late-переменной до присвоения
- Объявления переменных в Dart
- Dart: collection if, for и spread