当前位置:网站首页>JS 问号?妙用
JS 问号?妙用
2022-08-04 18:36:00 【蓓蕾心晴】
// 1. ?
var obj ={a:1,b:2}
obj.c.a
// 会报错:Uncaught TypeError: Cannot read properties of undefined,因为obj.c 不存在
解决方法:
obj.c?.a
// 等价于
obj.c && obj.c.a
// ?是可选链操作符,在引用为空null 或者 undefined 的情况下不会引起错误,该表达式短路返回值是 undefined
// 2. ??
// 空值合并运算符,在ES2020中新增,可以用来保证值不为 null 或者 undefined
var a1="";
var b1=a1??"default1" // ""
var a2=undefined;
var b2=a2??"default2" // default2
var a3=null;
var b3=a3??"default3" // default3
// 注:(??) 直接和 AND(&&)和 OR(||)一起用会报错,如果要一起用,记得单独给 ?? 左右表达式加括号,如:
b=(a??"dffdfdf") || 123 // dffdfdf
b=(a??"dffdfdf") && 123 // 123
// 3. 逻辑或(||)
// 空值合并运算符将跳过 null,undefined
// 逻辑或运算符会跳过 null,undefined,false
false ?? 'hello' // false
false || 'hello' // 'hola'
// 如果不想用要虚值,可以使用 ||。如果只想检查是否为 null 或 undefined,就用 ??
边栏推荐
猜你喜欢
2019 Haidian District Youth Programming Challenge Activity Elementary Group Rematch Test Questions Detailed Answers
2019年海淀区青少年程序设计挑战活动小学组复赛试题详细答案
基于 eBPF 的 Kubernetes 可观测实践
MMDetection 使用示例:从入门到出门
DHCP&OSPF组合实验演示(Huawei路由交换设备配置)
After EasyCVR is locally connected to the national standard device to map the public network, the local device cannot play and cascade the solution
当项目中自动格式化插件Prettier和ESLint冲突报错时如何解决
PHP代码审计8—SSRF 漏洞
合宙Cat1 4G模块Air724UG配置RNDIS网卡或PPP拨号,通过RNDIS网卡使开发板上网(以RV1126/1109开发板为例)
DOM Clobbering的原理及应用
随机推荐
C#爬虫之通过Selenium获取浏览器请求响应结果
【STM32】STM32单片机总目录
阿里云国际版使用ROS搭建WordPress教程
BigDecimal 使用注意!!“别踩坑”
【注册荣耀开发者】赢【荣耀70】手机
Iptables防火墙基础知识介绍
如何给MySQL添加自定义语法 ?
unity中实现ue眼球的渲染
Understanding of margin collapse and coincidence
Google Earth Engine APP - one-click online viewing of global images from 1984 to this year and loading an image analysis at the same time
12. SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值
VPC2187/8 current mode PWM controller 4-100VIN ultra-wide voltage startup, highly integrated power control chip recommended
在表格数据集上训练变分自编码器 (VAE)示例
群友求助,一周没有搞定的需求,3分钟就解决了?
【web自动化测试】playwright安装失败怎么办
margin 塌陷和重合的理解
使用.NET简单实现一个Redis的高性能克隆版(二)
机器学习——线性回归
阿里云技术专家秦隆:云上如何进行混沌工程?
2019 Haidian District Youth Programming Challenge Activity Elementary Group Rematch Test Questions Detailed Answers