【问题标题】:Where can I use the '??' operator? [duplicate]我在哪里可以使用“??”操作员? [复制]
【发布时间】:2021-03-21 19:38:14
【问题描述】:

在 JavaScript 教程中,我看到有人使用 ?? 运算符而不是短路运算符,即 ||

例如:

const a = null;
const b = a ?? 0

这实质上意味着使用a 的值,如果anullundefined,则使用默认值0。

但不知何故,在 NodeJS 中,这会导致语法错误:

【问题讨论】:

  • 您使用的是 Node 12,它在 Node 14 中可用
  • 让我试一试。
  • 还有,这个运算符叫什么?
  • 它被称为 Nullish Coalescing
  • @deAr 是的,用谷歌搜索运营商不容易。如果您搜索点和类似内容,也会发生同样的情况。对于这些类型的搜索,您可以使用SymbolHound。您还可以限制它搜索的站点。对于 JS,我们有一个更容易在此处搜索的规范列表:What does this symbol mean in JavaScript?。您可以在 [javascript] 的标签描述中找到该链接 - 它几乎在底部。

标签: javascript node.js


【解决方案1】:

?? 在 Javascript 中调用 Nullish 合并运算符

const foo = null ?? 'default string';
console.log(foo);
// expected output: "default string"

const baz = 0 ?? 42;
console.log(baz);
// expected output: 0

console.log(null ?? null)
// expected output: null

||此运算符不返回 0、false、null、"" 和未定义。 例如。 a = 0; b = 10;控制台.log(a || b);它返回 10(b)。

如果第一个值为 NULL,则返回第二个值。

注意:如果第二个值也为 NULL,则返回 null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2018-08-22
    • 2013-01-06
    • 2017-02-03
    相关资源
    最近更新 更多