Карточка 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 ошибок.