Dart 空感知操作符:??

发布时间:2024年01月12日

示例

写了如下代码:

var str1 = "hello";
var str2 = "world";
var result = str1 ?? str2.toUpperCase(); //如果str1不为空,则执行后面的语句
print(result);

代码可以正常执行,但是报了如下错误:

Warning: Operand of null-aware operation '??' has type 'String' which excludes null.??

因为空感知操作符??通常用于左侧操作数可能为空的情况。但是,在上面的代码中,str1被声明为不可空的String类型,并且它不能为空。因此,在这种上下文中使用空感知运算符是不必要的,并且可能导致混淆。?

如何正确使用 ??空感知操作符

// Example 1:
var userInput = null;
var defaultValue = "default";
var result = userInput ?? defaultValue;

console.log(result); // Output: "default"

在上面的例中,如果userInput为空或未定义,则??操作符将返回defaultValue,否则将返回userInput的值。

文章来源:https://blog.csdn.net/Steve_XiaoHai/article/details/135553440
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。