С внедрением Null-safety в Dart появились следующие возможности:
NoSuchMethodError во время выполнения, которые ранее могли возникать при попытке вызова метода на null-значении.? к типу.
dart
?. (null-aware access): Вызывает метод или получает свойство, только если объект не null.
dart
?? (null-aware assignment): Присваивает значение только если переменная равна null.
dart
??= (null-aware assignment): Присваивает значение переменной только если она равна null.
dart
! (non-null assertion): Утверждает, что значение не null. Следует использовать с осторожностью, когда разработчик уверен, что значение не null, но компилятор не может это гарантировать.
dart
late: Позволяет отложить инициализацию non-nullable переменной до первого обращения.
dart
required: Используется в конструкторах и функциях для указания обязательных параметров. В контексте null-safety, required делает параметры non-nullable по умолчанию (если тип не помечен ?).
dart