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

es新增运算符

?? ( 空值合并运算符)  ?. (可选链式运算符)  ??= (空值合并赋值操作符)

// ?? ( 空值合并运算符):这个运算符主要是左侧为null和undefined,直接返回右侧值
let result = value ?? '默认值';


. ??(空值合并运算符)
✅ 用于防止 null 和 undefined,不会影响 false、0、''(空字符串)。

let value = null;
let result = value ?? "默认值"; // value 为 null 或 undefined,返回 "默认值"
console.log(result); // 输出: "默认值"

let value2 = 0;
let result2 = value2 ?? "默认值"; // 0 不是 null 或 undefined,所以返回 0
console.log(result2); // 输出: 0

2. ?.(可选链运算符)
✅ 用于安全访问对象属性,防止 undefined 或 null 时报错 


const obj = null;
let prop = obj?.property; // obj 是 null,不会报错,而是返回 undefined
console.log(prop); // undefined

const user = { name: "Tom", address: { city: "New York" } };
console.log(user?.address?.city); // "New York"
console.log(user?.contact?.phone); // contact 不存在,返回 undefined,不会

??=(空值合并赋值操作符)

只有变量为 nullundefined 时,才会赋值

let x = null; x ??= 5; // x 为 null,所以赋值为 5 console.log(x); // 5 let y = 0; y ??= 10; // y 是 0(不是 null 或 undefined),所以不赋值 console.log(y); // 0

相关文章:

  • 小程序实现瀑布流布局
  • 【MySQL】用户账户、角色、口令、PAM
  • 【miniconda】centos7安装miniconda
  • 【装饰器】【python】【@wraps详解】装饰器核心问题:元数据丢失解决,以及原理
  • 贪心算法经典应用:最优答疑调度策略详解与Python实现
  • ngx_rtmp_flv_module.c — FLV文件处理模块设计与分析
  • JavaScript基础-常用的键盘事件
  • 第三课:Stable Diffusion图生图入门及应用
  • 跨语言微服务架构(Java、Python)——“API中台”
  • SQL小菜之TOP N查找问题
  • 【SUNO】【AI作词】【提示词】
  • 徘徊检测:视觉分析技术的安防新方向
  • ROS2 humble .launch.py启动文件编写
  • QML输入控件: Dial(1)
  • OLED 播放 GIF图片 Adruino
  • QT高效文件I/O编程--实用指南与最佳实践
  • 基于Spring Boot的网上购物商城系统的设计与实现(LW+源码+讲解)
  • c++:封装红黑树实现map与set
  • NVM安装速通使用手册(Windows版)NVM管理node版本命令手册 NVM使用手册
  • openmmlab介绍 一下
  • 阿里上季度营收增7%:淘天营收创新高,AI产品营收连续七个季度三位数增长
  • 现场丨在胡适施蛰存等手札与文献间,再看百年光华
  • 巴菲特谈卸任CEO:开始偶尔失去平衡,但仍然保持敏锐的头脑,仍打算继续工作
  • 中国至越南河内国际道路运输线路正式开通
  • 云南威信麟凤镇通报“有人穿‘警察’字样雨衣参与丧事”:已立案查处
  • 商务部召开外贸企业圆桌会:全力为外贸企业纾困解难,提供更多支持