首页 > 其他分享 >可选链运算符(?.)的使用

可选链运算符(?.)的使用

时间:2023-07-31 14:34:40浏览次数:38  
标签:console log 运算符 可选链 使用 obj undefined

作用:读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。运算符的功能类似于 . 链式运算符,不同之处在于,在引用为空  (nill 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined

使用:

var obj = { a: 1, b: 0 }; console.log(obj.a, obj.b) console.log(obj?.a) // 1 console.log(obj?.[b]) // 0 console.log(obj?.c) // undefined console.log(obj?.b || '') // "" console.log(obj?.b ?? '') // 0

具体场景:

1、使用ref调用vue组件函数,但组件v-if时,使用?.运算符可以进行代码简化;

2、多层对象(Object)嵌套时使用链式操作符(.)进行获取值时使用 ?. 可以确保获取的数据不会报错(Cannot read properties of undefined)

遇到的问题:

在一般情况下要设置默认值做法是 undefined || "xxx";

在可选链运算符时 应该使用 ?? 而不是 || 原因是  

console.log(obj?.b || '') // "" console.log(obj?.b ?? '') // 0 在 || 的判断中 0会被转换为 false,输出后面的空字符串,所有需要使用 ??(空值合并运算符 null,undefined)

标签:console,log,运算符,可选链,使用,obj,undefined
From: https://www.cnblogs.com/111lll/p/17593366.html

相关文章

  • 小程序赋能智慧社区使用场景开拓
    智慧社区是利用信息技术、物联网技术、人工智能等先进技术手段来改善社区管理和居民生活质量的一种创新社区管理模式。智慧社区的目标是实现社区内信息的智能化整合、资源的高效利用,以提高社区居民的生活便利性、安全性、舒适性和社交互动体验。小区中常见的智能设备系统智能......
  • java中取余运算符
    Java中取余运算符在Java中,取余运算符(%)用于计算两个数相除之后的余数。它可以用于整数和浮点数类型的操作数,并且取余运算符的使用和结果与数学中的模运算相同。本文将详细介绍Java中取余运算符的用法,并给出一些示例代码来帮助理解。取余运算符的使用取余运算符用于计算两个数相除......
  • 使用 ARACNE 方法和合成数据集重建基因调控网络
     在生物信息学中,基因调控网络的重建是一个重要的研究领域。这种网络可以揭示基因之间的相互作用,帮助我们理解生物系统的复杂性。在本文中,我将介绍如何使用ARACNE方法和合成数据集来重建基因调控网络。##ARACNE方法ARACNE(AlgorithmfortheReconstructionofAccurateCel......
  • Alpine Linux使用入门(Docker视角)
    前言我们在了解AlpineLinux时,多数都应该是从docker系统镜像了解的这个操作系统,今天我们就简单说一下AlpineLinux的基础使用AlpineLinux是一种基于musl和BusyBox的Linux发行版,专为安全性、简单性和资源效率而设计。体积非常小巧,适合用来做Docker镜像。如果你有Centos或者Ubun......
  • csc工具一般使用说明zz
    csc工具一般使用说明。工具CSC.exe是.net用来编译.cs文件的命令工具。它的路径默认在framework安装路径下。如:C:\WINDOWS\Microsoft.NET\Framework\版本\csc.exe常用的情况如下:编译File.cs以产生File.exe:cscFile.cs编译File.cs以产生File.dll:csc/target:libraryFile......
  • 使用impress.js实现超炫库的幻灯片
    1.本人的示例项目项目一:gitee2.更多列子github3.其他博客impress.js使用教程–王进的个人网站(jingege.wang)......
  • 使用DolphinDB TopN 函数探索高效的Alpha因子
    DolphinDB已经有非常多的窗口计算函数,例如m系列的滑动窗口计算,cum系列累计窗口计算,tm系列的的时间窗口滑动计算。但是所有这类函数都是对窗口内的所有记录进行指标计算,难免包含很多噪音。DolphinDB的金融领域用户反馈,通过交易量信息等对窗口内的记录进行过滤,得到的计算指标具......
  • Xshell使用是出现全黑或全白问题
    Xshell使用是出现全黑或全白问题,这是我实际遇到的问题如图。 解决方式:设置字体  解决成功: ......
  • 特性快闪:使用 Databend 玩转 Iceberg
    几周前,Databricks和Snowflake召开了各自的年度大会,除了今年一路持续走红的AI,数据湖/数据仓库技术的发展仍然值得关注,毕竟数据才是基本盘。ApacheIceberg无疑是数据湖方案的大赢家,Databricks新推出的UniForm为以ApacheIceberg和Hudi表格式读取Delta中的数据提供了......
  • Flutter 3.0+ 利用VLC播放器使用rtsp协议,本地测试和打包压缩
    Flutter中使用rtsp协议在Flutter中可以集成VLC播放器通过rtsp协议连接到监控相机来实现远程监控,当然也可以用来做直播APP。使用flutter_vlc_player库扩展包地址点我跳转。首先在pubspec.yaml中添加库引用:dependencies:flutter_vlc_player:^7.2.0安卓端配......