问题标签 [nullish-coalescing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
105 浏览

javascript - 由于 Nullish Coalescing 和 Optional Chaining 运算符,在 VS Code 的终端上会出现警告

当我在代码中实现上述任何运算符时,都会出现警告。但是代码运行没有任何问题。我的问题是,什么会导致这样的怪异?PS:VScode版本:1.53.2

这是截图

0 投票
0 回答
150 浏览

javascript - 错误“nullishCoalescingOperator 当前未启用” - 如何启用它?

操作员 ??不会工作。我在纯 js 中使用它,只有一个包“parcel-bundler”:“^1.12.3”。我看到以下错误:

当前未启用对实验语法“nullishCoalescingOperator”的支持 (15:35)

如何解决这个问题?谢谢!

0 投票
1 回答
30 浏览

javascript - OPTIONAL CHAINING 和 NULLISH COALESCING 运算符的组合未呈现预期结果

我只是在学习可选链空值合并的组合。这里是object

当我试图检查该方法是否存在时,无论如何它都会打印出它们。我做错了什么?

0 投票
1 回答
71 浏览

javascript - 测试非无效性的惯用方法

JavaScript 现在提供???.执行诸如查找第一个非空表达式或取消引用非空对象等操作。

[添加:“ nullish ”表示“nullundefined”,如 nullish 合并运算符]。

有没有一种很好的惯用方法来简单地测试非无效性?例如,如果我只想在onChange()我的值不为空时调用处理程序。那是:

显然这是不正确的,因为它对于虚假但非空值(尤其是0'')会失败。

0 投票
2 回答
44 浏览

javascript - JavaScript 中空值合并运算符的两边都在执行

orderPizzaorderRissotto是对象restaurant中的两个方法。

当我使用 Nullish Coalesceing 运算符记录它们时,方法输出会被记录,因为方法可用。但是,第二部分“方法不存在”也会被记录。可能是什么原因?

日志:

0 投票
1 回答
59 浏览

javascript - 解构数组中可能的空值

在下面的示例中是否有更好的方法来处理null值。在条目 5、7 和 10 中;存在一个null值。

null无论值是还是都会出现以下错误undefined

以下工作,但它不太优雅。它需要使用nullish-coalescing运算符(或逻辑 OR运算符)、可选链接和多重赋值。

我可以将其重写为嵌套的IIFE,但它更难遵循...如您所见,我避免使用默认参数值,因为您只能解构undefined值。该值null是有效的,因此我必须使用逻辑 OR(空值合并操作也可以)来确定替代方案。

0 投票
3 回答
110 浏览

javascript - x || 之间的任何差异 [] 和 x ?? [] 在 JavaScript 中?

如果 x 为空,我已经看到了两者x || []x ?? []用于提供后备值。有没有这两个给出不同结果的情况?

0 投票
2 回答
326 浏览

javascript - 当没有方法的返回值时,为什么 javaScript 的可选链接语法不适用于 Nullish Coalescing Operator?

我正在尝试新的 JavaScript 可选链接语法,它似乎与没有返回值的方法有问题。例如:

我有一个带有 order 方法的餐厅对象:

现在,如果我尝试检查以下餐厅对象中是否存在 order 方法,它会返回“undefiend”:

现在的问题是,如果我将上述情况与 Nullish Coalescing Operator 一起使用,如下所示,它不起作用:

ISSUE:现在上述语句中的问题是,可选的链接语法甚至可以找到 order 方法并打印“I was here with 0 and 1”但仍然返回“undefiend”,这使得 Nullish Coalescing Operator 继续进行,甚至打印“Method does不存在'也作为默认值?

现在,如果我允许 order 方法返回一个值,那么它可以与 Nullish Coalescing Operator 一起正常工作并且它不会继续。

如果再次检查:

可选链接语法是否有必要从方法中期望返回值而不是空值以检查其可用性?

在上述情况下,order 方法确实存在,那么如何防止 Nullish Coalescing Operator 不继续默认的“方法不存在”?

我正在使用现代浏览器(Chrome 和 firfox)对其进行测试,并且我还在 Chrome 中启用了 javaScript 实验性功能,但它仍然以上述方式工作。

有什么想法会有所帮助吗?谢谢

0 投票
0 回答
36 浏览

javascript - 为什么 JavaScript 禁止将 Nullish 运算符 (??) 与 And (&&)、OR (||) 运算符结合使用?

为什么 JavaScript 禁止它(给出语法错误),如果 Nullish 运算符 (??) 与 And (&&)、OR (||) 运算符“不带括号”结合使用?

例子:

但以下作品

0 投票
0 回答
39 浏览

javascript - 逻辑和 (&&) 类型的运算符仅适用于 Javascript 中的空类型

逻辑 && 运算符返回左侧当且仅当它被评估为“假”。

空值合并运算符 (??) 返回左侧当且仅当它不为空或未定义时。

如果左侧为空或未定义,是否有任何简洁的表达式可以返回左侧?基本上,这将是 && 仅用于 null 或 undefined 并且看起来像这样:

在解析默认值时,我需要经常执行以下操作,当someVar被链接并parse包含多个函数时,阅读起来有点乏味。