The ?? double question mark operator means “if null”. Take the following expression, for example.
String a = b ?? 'hello';
This means a equals b, but if b is null then a equals 'hello'.
Another related operator is ??=. For example:
b ??= 'hello';
This means if b is null then set it equal to hello. Otherwise, don’t change it.
Reference
- A Tour of the Dart Language: Operators
- Null-aware operators in Dart
Terms
The Dart 1.12 release news collectively referred to the following as null-aware operators:
??— if null operator??=— null-aware assignmentx?.p— null-aware accessx?.m()— null-aware method invocation