Dart 中 ?? 运算符的作用是什么?

推荐答案

在 Dart 中,?? 运算符被称为 空值合并运算符。它的作用是:如果左侧的表达式结果为 null,则返回右侧的表达式结果;否则,返回左侧的表达式结果。

本题详细解读

语法

  • expression1:需要检查是否为 null 的表达式。
  • expression2:如果 expression1null,则返回该表达式的结果。

示例

-- -------------------- ---- -------
---- ------ -
  ---- - - -----
  --- - - ---

  --- ------ - - -- -- -- -- - - --------- - --
  -------------- -- --- --

  - - --
  ------ - - -- -- -- -- - -- --------- - --
  -------------- -- --- -
-

使用场景

  • 当需要为可能为 null 的变量提供默认值时,?? 运算符非常有用。
  • 可以避免使用冗长的 if-else 语句来检查 null 值。

注意事项

  • ?? 运算符的优先级较低,因此在复杂表达式中使用时,建议使用括号明确优先级。
  • 如果 expression1expression2 都是 null,则最终结果也是 null
纠错
反馈