【JS】问号点(?.)
问号点(?.)
参考文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
当访问多层对象属性(比如 res.data.list)时,如果属性res.data为空,则会报引用错误
为此我们不得不这么处理:
let dataList = res && res.data && res.data.list
看着非常不美观,今天介绍的新语法就是为了解决这种问题的 (可选链操作符?.)
有了可选链,就可以对一个为null或者undefined属性安全引用:
let dataList = res?.data?.list
作用就是判断这个对象(this.element)下的(businessObject)下的(value)下的(length)是否为null或者undefined,当其中一链为null或者undefined时就返回undefined,这样即使中间缺少一个属性也不会报错,双问号后面接的就是默认值。
var obj ={}
console.log(obj ?. a ?. b) // undefined
console.log(obj ?. a ?. b ?? 88 ) // 88
console.log(obj) // Object
console.log(obj.a) // undefined
console.log(obj.a.b) // 报错var obj={a:{b:1}}
console.log(obj ?. a ?. b) // 1
console.log(obj ?. a ?. b ?? 66) // 1
console.log(obj) // {a:{b:1}}
console.log(obj.a) // {b:1}
console.log(obj.a.b)// 1
【JS】问号点(?.)相关推荐
- js 问号点操作符 (可选链 双问号)
配置使用可选链?. 和 双问号?? 语法 一.什么是可选链 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Oper ...
- js问号表达式(三元表达式)
表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3. ========== ...
- webpack 最佳实践
本文讲述的最佳实践是从日常业务中总结而出的,不一定适合所有项目.毕竟每个公司或个人的项目不同,最佳实践也会有所不同.但是可以从这篇文章借鉴吸收一点有用的东西,有问题的地方也欢迎大家积极吐槽指正. 为了 ...
- php$后面加点有什么用,css和js后加问号和数字有什么用
作用:强制浏览器调用新地址,防止缓存.在css和js后加问号和随机数字,不会影响文件的调用:但是,如果改变了数字,浏览器就会当成一个新文件读取,而不会读取以前的缓存文件. css和js后加问号和数字的 ...
- js截取url问号前面_js截取url问号后参数并转化为对象
题目:js截取url问号后参数并转化为对象: function urlToObj(str){ var obj = {}; var arr1 = str.split("?"); va ...
- js 获取url问号前_收下这波 JS 技巧,从此少加班
各种业务开发都离不开对数据的处理,然而遇到的很多数据都是不好处理的.这个时候就需要寻求搜索引擎的帮助.这种方法效率是非常低下的,而且根据作者的个性不能保证其对自己的口味.因此这篇文字包含了一份 JS ...
- php 双问号 语法,JS 新语法「可选链」「双问号」已进入 Stage 3
你可能写过这样的代码 var street = user.address && user.address.street; 复制代码 有了这个新语法,你可以写成 var street = ...
- js截取url问号前面_JS获取URL中问号后面参数值
该功能已经在 ez.js 更好的实现,本文的方法依旧可用,但将不再更新. ez.js 提供了一些常用的 js 方法. 支持以下几种传参的形式: 使用井号#: http://x.x.com/x.html ...
- 【JS】问号点(?.)和双问号(??)的用法
1. 问号点(?.) 当访问多层对象属性(比如 res.data.list)时,如果属性res.data为空,则会报引用错误,为此我们不得不这么处理: let dataList = res & ...
- js中 “问号问号” 与 “问号点” 的意思
js中 "问号问号" 与 "问号点" 的意思 js中??和?.的意思 - .why - 博客园
最新文章
- Windows sever 2008
- java短横线转驼峰_第二讲:Java的运作原理
- 云南大学计算机网络原理,云南大学软件学院计算机网络原理期中试卷王世普.doc...
- 北京大学自考计算机应用本科,北京大学自学考试本科2019年还能报考吗
- JDK8中的新时间API:Duration Period和ChronoUnit介绍
- java文件复制速度_【Java】Java代码拷贝文件的速度
- 每日一测5(关于继承)
- c语言if语句教学设计,c语言if语句教学设计.pdf
- Linux运行多个openssl,linux – 使用多选项解释rsa的openssl速度输出
- Macmini 2012Late硬盘异响和Mac下设置apm
- python制作动态二维码步骤_七夕 | 如何用Python制作动态二维码,来哄女朋友开心?...
- MFC Afx*.h 详解
- xgboost算法_XGBoost算法背后的数学:尽可能简单地解释XGBoost算法背后的数学机制...
- LTE信令流程——位置更新
- 单片机之FPGA选修部分基础了解
- 小程序中wx.setStorage和 wx.getStorage
- android怎么集成sdk,集成方式-Android开发集成-SDK开发集成-信令-网易云信开发文档...
- matlab 车牌图识别,基于MATLAB车牌图像识别的设计与实现(附答辩记录)
- 我对位运算的若干疑问和认识
- sql server 2382端口问题