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

2023-12-21

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

splashFactory ??= InkSplash.splashFactory;
textSelectionColor ??= isDark ? accentColor : primarySwatch[200];

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

Flutter源码中的示例 https://github.com/flutter/flutter/blob/57a13c3e3bb94d1997815faf33aa2eb17690ee46/packages/flutter/lib/src/material/theme_data.dart#L338


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

?? if 为空运算符。expr1 ?? expr2评估为expr1 if not null, 否则expr2.

?? = 空感知赋值。v ??= expr causes v待分配expr除非v is null.

?。 空感知访问。x?.p评估为x.p if x is not null,否则计算结果为null.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dart 中的 ??= 运算符是什么 的相关文章

随机推荐