JavaScript 双问号 (??) 是什么?2025年3月3日 | 阅读 5 分钟 这个ECMA提案中的一项新功能是双问号(??),它也被称为空值合并运算符。双问号是JavaScript中的一个逻辑运算符,它接受两个输入。如果左侧的值为null或undefined,则返回右侧的值,否则返回左侧的操作数。 JavaScript双问号有一个特殊情况,那就是逻辑或(||)运算符。当左操作数是任何假值(不仅仅是null或undefined)时,在空值合并的情况下会返回右操作数。空值合并运算符的优先级是第五低的。 何时应用空值合并运算符JavaScript中的空值合并运算符使处理null或undefined值变得更加容易。它允许您为这些类型的值设置一个一致的默认值。 应用时,它在以下情况下可能很有用
语法 空值合并的符号是两个问号(??)。 结果
注意:需要注意的是,??如果左参数不是undefined或null,则返回左参数。否则显示右参数。它是如何工作的?双问号(??)左侧的值简单地设置为undefined或null。如果是,则给出其右侧的值。如果不是,则给出左侧的值。 假设您正在选择的汽车型号。当您访问主网站时,您会发现它们缺货了。幸运的是,您有另一个符合您想法的型号。在这种情况下,左侧的值代表汽车,右侧的值代表汽车的型号。您正在选择要选择什么,并在看到双问号(??)时寻找汽车。 输出 ![]() JavaScript中被视为假值的那些值如果一个值在布尔上下文中出现,那么它就被称为假值(也写为false)。下面列出的值是JavaScript中唯一被视为假值的六个值。 false: 关键字 false。 输出 ![]() undefined: 原始值。 输出 ![]() null: 任何值的缺失。 输出 ![]() ""(空字符串):空字符串值。 输出 ![]() 由于我们在“if”条件中没有提供任何内容,因此以上所有内容都不会打印任何内容。所以以上所有都代表“假值”。 为什么JavaScript中需要空值合并运算符?||运算符很有用。但有时,我们只希望在第一个操作数为null或undefined时才评估下一个表达式。 逻辑或运算符(||)用于设置变量的默认值。这是一个例子 代码 输出 ![]() 在上面的示例中,value变量是undefined,因此被强制为false。因此,结果是6。 然而,当您接受空字符串“”或0作为有效值时,逻辑或(||)运算符可能会令人困惑,如下例所示 代码 输出 ![]() 答案是1,而不是0,尽管您可能没有预料到。 JavaScript双问号或空值合并运算符用于避免这些问题。只有当第一个值为null或undefined时,它才返回第二个值。 总结总之,JavaScript功能双问号也被称为空值合并运算符。它为null或undefined值设置默认值,并以连续两个问号(??)的形式出现。 与逻辑或运算符(||)不同,它仅在左侧表达式为null或undefined时才返回默认值。因此,您可以更可靠、更可预测地处理代码中的null或undefined值,而无需使用复杂的条件语句。在设置变量的默认值、处理可选函数参数和简化三元表达式等情况下,空值合并运算符可能非常有用。通过清晰简洁地处理null或undefined值,您的代码可以轻松阅读。 在处理代码中的null或undefined值时,空值合并运算符是JavaScript语言整体上的一个有益的补充。 |
JavaScript 字典简介 JavaScript 是一种用于 Web 开发的编程语言,它具有极大的灵活性。字典也称为对象,它是基本数据结构之一。字典的用途是存储和……
7 分钟阅读
什么是数组?在 JavaScript 中,数组是一种数据结构,我们用它来存储元素集合,这些元素可以是不同类型的。这些数据类型可以包括字符串、数字、布尔值(true 或 false)、其他数组和对象。示例: const names =...
阅读 4 分钟
JavaScript 是一种允许开发人员创建动态网页和应用程序的编程语言。JavaScript 最重要的功能之一是它能够以预定义的间隔重复执行代码。在本文中,我们将讨论如何重复调用函数……
阅读 3 分钟
JavaScript 中的数组作为一种数据结构必须是平衡的,它们是使用一个变量来存储不同值的便捷方式。为此,确定数组列表中最大项的精确优先级是最有价值的任务...
阅读 4 分钟
在 JavaScript 中,数组是一种特殊的对象形式,可以在单个变量中存储多个值。与其他许多编程语言不同,JavaScript 数组可以存储多种数据类型的元素,包括文本、数字、对象,甚至其他数组。因为 JavaScript 数组……
阅读 4 分钟
JavaScript 是最受欢迎的编程语言之一,被谷歌、微软、Meta、亚马逊等许多科技巨头公司以及其他许多大公司使用。它是网站开发的首选语言,并被认为是 Web 开发的旗舰编程语言。它验证...
阅读 6 分钟
在编程中,为处理特定操作创建不同的函数或方法被认为是一种最佳实践。虽然可以将所有操作合并到一个方法或函数中,但遵循最佳实践可能会对代码的可读性和清晰度产生负面影响……
阅读 12 分钟
简介:正则表达式(regex)是字符串模式匹配的强大工具,JavaScript 提供了强大的支持来处理它们。RegExp.prototype.exec() 方法一直是根据 regex 模式从字符串中提取数据的常用方法。然而,随着 ECMAScript 中 String.prototype.matchAll() 的引入...
阅读 3 分钟
本文概述了 JavaScript 中的 return 语句。return 语句放在函数执行之后,用于在返回指定值的同时停止该函数中的任何进一步处理。在 JavaScript 中,对于...是必须的。
阅读 4 分钟
JavaScript 提供了一些内置的日期和时间函数,有助于根据出生日期计算年龄。使用这些 JavaScript 方法,您可以轻松找到任何人的年龄。为此,我们需要用户输入日期以及当前日期……
阅读 10 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India