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

可选链操作符(Optional Chaining)

v?.meta?.rank === null

它允许你安全地访问对象的嵌套属性,而不会因为中间某个属性为 null 或 undefined 而导致程序抛出错误。

避免访问 null 或 undefined 时出错:传统的访问方式需要使用多重 if 或三元运算符来检查每一层是否为 null 或 undefined,这样写起来既繁琐又不易维护。使用 ?. 可以简化代码,使它更简洁、安全。

具体含义:

  • v?.:如果 v 是 null 或 undefined,则返回 undefined,而不是抛出错误。如果 v 存在,才继续执行下一个操作。
  • meta?.:如果 v.meta 是 null 或 undefined,则返回 undefined,而不是访问 rank属性时抛出错误。如果 v.meta 存在,才继续访问 rank。
  • rank:如果 v.meta 存在,则直接访问 rank 属性。

可选链操作符 (?.) 不会改变原始数据。如果某一层是 null 或 undefined,它只是返回 undefined,不会修改数据本身。
它与 空值合并操作符(??) 配合使用时非常有用,后者可以确保当结果为 null 或 undefined 时返回默认值。
例如,使用 ?? 结合 ?. 来处理默认值:

const rank = v?.meta?.rank ?? 10; // 如果 v?.meta?.rank 为 null 或 undefined,则默认返回 10

http://www.kler.cn/a/382026.html

相关文章:

  • WebDavClient 安装和配置指南
  • [bug]java导出csv用Microsoft Office Excel打开乱码解决
  • Pytorch | 从零构建ParNet/Non-Deep Networks对CIFAR10进行分类
  • 被裁20240927 --- 嵌入式硬件开发 前篇
  • C++---------随机库,standfor库
  • IT运维的365天--021 服务器上的dns设置后不起作用
  • unity3d——关于GetComponent<T>()
  • 解决Knife4j 接口界面UI中文乱码问题
  • 扩展卡尔曼滤波(EKF)的限制
  • 西南科技大学C++实验作业3——容器使用和文件输入输出流
  • 实现数传数据转网口(以太网)和遥控器SBUS信号转串口的功能
  • leetcode 75.颜色分类
  • Python的struct打包通讯数据头文件
  • 杨辉三角——c语言
  • 浏览器内核版本更新:Chrome 130✔
  • 【MySQL】函数
  • 网络安全求职指南_看完这篇就足够了~
  • c++设计模式demo
  • 【Linux】Linux安全与密钥登录指南
  • 工作管理实战指南:利用Jira、Confluence等Atlassian工具打破信息孤岛,增强团队协作【含免费指南】
  • 算法学习(十)—— 字符串
  • Oracle 第15章:安全性管理
  • 基于python主观题自动阅卷系统毕业设计项目
  • 计算机网络:网络层 —— 虚拟专用网 VPN
  • [C++从小白到大牛]第三篇:3分钟带你入门C++(下)
  • 苍穹外卖day-01