How to use double dot operator- Cascade operator in Dart| Flutter
cascade operator
is used to call a sequence of methods on the objects using .. double dot operator.
For example, you have a list object and want to call the same add method for multiple values.
You will call as below
List list = [];
list.add(1);
list.add(2);
list.add(3);
list.add(4);
The object name list is repeatedly called to do the same operation. You can also do multiple operations on the same object. Cascade operator (..) is introduced to avoid the repeated current object instance name.
Dart Cascade operator
The Cascade operator is also called the double dot operator.
It is used to chain operations piped using a double dot by ignoring return values.
Syntax.
instance..method1..method2..methodN
instance..method1 returns this object.
The same can be rewritten using
main() {
List list = [];
list
..add(1)
..add(2)
..add(3)
..add(4);
}
It is helpful for developers to build objects faster with few lines of code.
Null Shorting Cascade notation for null safety in dart
Sometimes, the Object that you call the double dot operator might be null, In that case, a null shorting cascade(? ..) is being used.
var employee = Employee();
employee.id = 1;
employee.name ="John";
employee.salary = 5000;
The above code was replaced with a cascade operation
var employee = Employee()
..id = 1;
..name ="John";
..salary = 5000;
Next, add the null shorting operator(?) for the first cascade operation for null safety
var employee = Employee()
?..id = 1;
..name ="John";
..salary = 5000;
which is equal to
var employee = Employee();
employee?.id = 1;
employee?.name ="John";
employee?.salary = 5000;