有什么用'??'操作者

问题描述 投票:3回答:2

在Dart中阅读一些代码时遇到了这行代码:

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

??运营商在Dart中做了什么?怎么用?

dart
2个回答
2
投票

is null的替代品。

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


4
投票

??是if null运算符。当且仅当另一个表达式解析为null时,可以在需要求值和返回表达式时使用它。

exp ?? otherExp

类似于

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

在你的情况下,dead将获得parsedJson['dead']的值,如果它是null它将是false

© www.soinside.com 2019 - 2024. All rights reserved.