'??'有什么用?算子

时间:2019-04-04 15:02:43

标签: dart

在Dart中阅读一些代码时,我遇到了以下代码行:

dead = parsedJson['dead'] ?? false,

??运算符在Dart中做什么?如何使用?

2 个答案:

答案 0 :(得分:4)

?? if null运算符。当且仅当另一个表达式解析为null时,才可以使用它来计算和返回表达式。

exp ?? otherExp

类似于

((x) => x == null ? otherExp : x)(exp)

在您的情况下,dead将获得parsedJson['dead']的值,如果为null,则将为false

答案 1 :(得分:2)

代替is null

因此,在您的示例中,如果parsedJson['dead']为空,那么将为dead赋值false。否则,将为它分配任何parsedJson['dead']当前值。