当前位置: 首页 > news >正文

JavaScript空值合并运算符

The Nullish Coalescing Operator(空值合并运算符)是一种 JavaScript 的新运算符,用于解决默认值设定中存在的一些问题。它的语法为 ??(两个问号),表示当左侧的操作数为 null 或 undefined 时,返回右侧的操作数,否则返回左侧的操作数。

例如

const guestCorrect = restaurant.numGuests ?? 10;
console.log(guestCorrect);

在这里插入图片描述

但是空值并不包含0和空字符

restaurant.numGuests = 0;const guestCorrect = restaurant.numGuests ?? 10;
console.log(guestCorrect);

在这里插入图片描述

总结

const value1 = null ?? "default";
console.log(value1);  // 输出 "default"const value2 = "Hello" ?? "default";
console.log(value2);  // 输出 "Hello"const value3 = undefined ?? "default";
console.log(value3);  // 输出 "default"

可以看到,在上述示例中,第一个操作数为 null 或 undefined 时,空值合并运算符返回了第二个操作数,否则返回了第一个操作数。与传统的默认值设置方式相比,空值合并运算符能够区分 null 和 undefined,避免了一些可能的 bug。
需要注意的是,空值合并运算符仅对 null 和 undefined 进行默认值设置,而不包括其他 Falsy 值(如空字符串、0 和 false)。如果需要在默认值设定中考虑所有 Falsy 值,可以使用逻辑或运算符 ||。
例如:

javascriptCopy Codeconst value4 = "" || "default";
console.log(value4);  // 输出 "default"const value5 = 0 || "default";
console.log(value5);  // 输出 "default"const value6 = false || "default";
console.log(value6);  // 输出 "default"

需要注意的是,空值合并运算符是 ES11(也称为 ECMAScript 2020)的新增特性,如果需要在旧版本的 JavaScript 中使用,可以通过转换成常规的三元条件运算符来实现。

http://www.lryc.cn/news/251943.html

相关文章:

  • Spring Boot 集成 spring security 01
  • C 编程中使用字符串
  • 【GD32307E-START】04 使用TinyMaix进行手写数字识别
  • qt-C++笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解
  • 小程序开发平台源码系统:搭建新的商业体系 附带完整的搭建教程
  • css3新增的伪类有哪些?
  • 开源软件license介绍与检测
  • 【LeeCode】142.环形链表II
  • nodejs微信小程序+python+PHP健身房信息管理系统的设计与实现-计算机毕业设计推荐
  • springboot集成springsecurity
  • 脏读、不可重复读、幻读
  • 思维模型 反馈效应
  • 【PyTorch】线性回归
  • 硝烟弥漫的科技战场——GPT之战
  • re:Invent 构建未来:云计算生成式 AI 诞生科技新局面
  • oneApi实现并⾏排序算法
  • 语音芯片的BUSY状态指示功能特征:提升用户体验与系统稳定性的关键
  • Leetcode2661. 找出叠涂元素
  • 免费最新6款热门SEO优化排名工具
  • 绝地求生在steam叫什么?
  • Elasticsearch:什么是大语言模型(LLM)?
  • Kubernetes1.27容器化部署Prometheus
  • fasterxml 注解组装实体
  • 自写一个函数将js对象转为Ts的Interface接口
  • 【数据结构】拆分详解 - 二叉树的链式存储结构
  • Laravel修改默认的auth模块为md5(password+salt)验证
  • OpenStack-train版安装之安装Keystone(认证服务)、Glance(镜像服务)、Placement
  • 【九日集训】第九天:简单递归
  • Prime 1.0
  • Java 如何正确比较两个浮点数