在Dart中阅读一些代码时遇到了这行代码:
dead = parsedJson['dead'] ?? false,
??
运营商在Dart中做了什么?怎么用?
是is null
的替代品。
因此,在您的示例中,如果parsedJson['dead']
为null,则dead
值将被赋值为false
。否则,将分配任何parsedJson['dead']
当前值。
??
是if null运算符。当且仅当另一个表达式解析为null
时,可以在需要求值和返回表达式时使用它。
exp ?? otherExp
类似于
((x) => x == null ? otherExp : x)(exp)
在你的情况下,dead
将获得parsedJson['dead']
的值,如果它是null
它将是false