Dart 中的 ??= 运算符是什么

Has*_*jmi 4 operators dart flutter

这是我在 Flutter 源代码中看到的新赋值运算符:

splashFactory ??= InkSplash.splashFactory;
textSelectionColor ??= isDark ? accentColor : primarySwatch[200];
Run Code Online (Sandbox Code Playgroud)

这个赋值运算符的含义是什么?

Flutter源码中的示例

blu*_*ile 7

??= 是一个新的空感知运算符。具体来说 ??= 是空感知赋值运算符。

?? if 为空运算符。如果不是,则expr1 ?? expr2评估为,否则。expr1nullexpr2

??= 空感知赋值。仅当is时v ??= expr才会v被赋值 。exprvnull

?。空感知访问。如果不是则x?.p计算为,否则计算为。x.pxnullnull