【JS】问号点和双问号的用法

news/2024/11/14 14:47:25/

1. 问号点(?.)
    当访问多层对象属性(比如 res.data.list)时,如果属性res.data为空,则会报引用错误,为此我们不得不这么处理:
1
let dataList = res && res.data && res.data.list
1
看着非常不美观,今天介绍的新语法就是为了解决这种问题的 (可选链操作符?.)

有了可选链,就可以对一个为null或者undefined属性安全引用:

let dataList = res?.data?.list
1
作用就是判断这个对象(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}}


http://www.ppmy.cn/news/73623.html

相关文章

MSP 现场服务管理

什么是现场服务管理 现场服务管理 (FSM) 是确保有效规划、安排和执行现场服务活动所遵循的做法。它涉及有效利用资源,如人员、技术和材料,以满足客户的服务期限和标准。FSM还涉及现场技术人员,服务交付经理和其他利益…

VS2022调试Win-flex bison生成的C语言程序

Win-flex bison是flex和bison在Windows平台的一个移植版本,它支持flex(快速词法分析器)和bison(GNU解析器生成器)。 Win-flex bison的下载及安装可参看“Windows中使用Lex(Win flex-bison)”&a…

Rust 笔记:开发环境搭建与 rust 工具介绍

Rust 笔记 开发环境搭建与 rust 工具介绍 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/artic…

springcloud-alibaba (02)nacos学习笔记

nacos 一,介绍1. 什么是Spring Cloud Alibaba Nacos2. Nacos的特点和优势 二,安装和配置三,创建项目第一步,创建父工程第二步,创建基础公共模块第三步,创建服务模块第四步,开启多个实例 四&…

HTTP的状态码

HTTP 常⻅的状态码有哪些? 那「HTTP 是用于从互联网服务器传输超文本到本地浏览器的协议」,这种说法正确吗? 1xx 类状态码属于提示信息,是协议处理中的一种中间状态,实际用到的比较少。 2xx 类状态码表示服务器成功处理了客户端的请求&a…

晶飞FLA5000光谱仪.FlaSpec格式解析批处理导出CSV文件

引言 首先说明下晶飞上位机软件存在的问题,实验所采用的FLA5000型号光谱仪,光谱波段从280-970nm,FWHM值为2.4nm。 1、上位机软件中的光谱数据复制功能基本是废的,最多只能到599.9nm,后面的数据全部消失。 2、上位机软…

MySQL—日志

文章目录 一、错误日志二、二进制日志2.1 介绍2.2 格式2.3 查看2.4 删除 三、查询日志四、慢查询日志 一、错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据…

Java-线程安全的四个经典案例和线程池

单例模式 有些对象,在一个程序中应该只有唯一 一个实例(光靠人保证不靠谱 借助语法来保证) 就可以使用单例模式 在单例模式下 对象的实例化被限制了 只能创建一个 多了的也创建不了 单例模式分为两种:饿汉模式和懒汉模式 饿汉模式…