首页 > 编程语言 >JavaScript 中 ?. 和 ?? 分别是什么?

JavaScript 中 ?. 和 ?? 分别是什么?

时间:2023-02-15 11:26:02浏览次数:40  
标签:foo const undefined default 什么 JavaScript 操作符 bar 分别

?. ?? 是 JavaScript 中的两个新操作符,分别是可选链操作符(optional chaining operator)和空值合并操作符(nullish coalescing operator)。

?. 操作符

?. 可选链操作符用于访问可能为空或未定义的属性或方法,它允许我们安全地访问嵌套对象的属性,如果中间的属性为空或未定义,则不会抛出错误,而是返回 undefined。例如:

const obj = {
  foo: {
    bar: 123
  }
};

// 普通访问属性的方式
const x = obj.foo.bar; // x = 123

// 使用可选链操作符
const y = obj?.foo?.bar; // y = 123

// 如果对象未定义,则返回 undefined
const z = undefined?.foo?.bar; // z = undefined

?? 操作符

?? 空值合并操作符用于检查一个变量是否为 null 或 undefined,如果是,则返回一个默认值,否则返回该变量的值。与传统的逻辑运算符 || 不同,?? 只会在左侧的值为 null 或 undefined 时返回右侧的默认值,对于其他假值(如空字符串、0、false 等)并不会返回默认值,而是会返回它本身。例如:

const x = undefined ?? 'default'; // x = 'default'

const y = null ?? 'default'; // y = 'default'

const z = 'value' ?? 'default'; // z = 'value'

需要注意的是,?? 操作符需要在 ES11 及以上的版本才能使用。

标签:foo,const,undefined,default,什么,JavaScript,操作符,bar,分别
From: https://www.cnblogs.com/yuzhihui/p/17122071.html

相关文章

  • 浏览器前端 JavaScript Worker使用
    主Js文件内容://注意://使用前先判断浏览器是否支持//Worker内的代码不可以操作DOM//不能跨域加载Worker的js文件if(window.Worker!==undefined){//新建Worker......
  • 你好 ChatGPT, 帮我看下这段代码有什么问题?
    点赞再看,动力无限。微信搜「程序猿阿朗」。本文Github.com/niumoo/JavaNotes和未读代码博客已经收录,有很多系列文章。今天一个很简单的功能,触发了一个BUG,处理......
  • 宽表为什么横行?
    宽表在BI业务中比比皆是,每次建设BI系统时首先要做的就是准备宽表。有时系统中的宽表可能会有上千个字段,经常因为“过宽”超过了数据库表字段数量限制还要再拆分。为什么大......
  • 读者最需要什么样的题解
    哈哈,其实还是鲜花,主要是看到\(\text{f}\color{red}{\text{eecle6418}}\)的这篇题解有感而发,当然我自己写的题解也很抽象,需要改正。当然这里的写题解是指主动打算写一......
  • JavaScript模块化方案的演进史
    JavaScript语言诞生至今,模块规范化之路曲曲折折。社区先后出现了各种解决方案,包括AMD、CMD、CommonJS等,而后ECMA组织在JavaScript语言标准层面,增加了模块功能(因为该......
  • VBA 复制同文件夹下多工作簿中同名工作表 分别粘贴至同一工作簿的不同工作表
    VBA复制同文件夹下多工作簿中同名工作表分别粘贴至同一工作簿的不同工作表https://blog.csdn.net/qq_30687601/article/details/86929458学习日志复制指定目录下excel......
  • 数据库审计系统是什么?具体部署方式有哪些?
    随着大数据、云计算、物联网和人工智能等新一代网络信息技术的飞速发展,数字化和全球化已经成为无可逆转的发展潮流。作为存储用户最核心要素的数据库自然成为了机构信息安全......
  • o批现在会什么
    搜索DFSBFS折半搜索A*字符串哈希KMPTrie树ManacherZAlogrithm(ExKMP)动态规划背包DP01背包完全背包分组背包多重背包区间DP状压DP树形DP记......
  • 恒创科技:香港机房部分地区无法访问是什么情况?
    香港机房部分地区无法访问?在租用香港服务器、香港云服务器等过程中,总会经历各种问题,除了常见的速度慢等问题,还有一种问题也是比较头疼的,那就是所有地区都可访问,唯独某......
  • 什么是国密改造?国密SSL证书起什么作用?
    国密改造是指政企单位按照《GB/T39786-2021 信息安全技术信息系统密码应用基本要求》进行的信息系统密码应用改造。更多信息访问沃通CA官网咨询了解。《GB/T39786—2021信......