js中?. 、?? 、??=的用法及含义

2023-05-16

1.可选链运算符 ?.

是不是经常遇到这样的错误: TypeError : Cannot read properties of null (reading 'xxx')

引入可选链就是为了解决这个问题 ~~

        const person = { id: 1, name: '蒸肉米粉', desc: null };
 
        // 你可能会这样做
        console.log(person.desc.age) // TypeError 
        console.log(person.desc && person.desc.age); // null
 
        // 使用可选链
        console.log(person.desc?.age); // undefined
        // 或深度可选链
        console.log(person.desc?.address?.city); // undefined
        // 函数可选链
        console.log(person.fun?.());//undefined

2.空值合并运算符 ??

 在左侧值为 null 或 undefined  时,使用右侧的值

        const person = { id: 1, name: '蒸肉米粉', desc: null };
 
        // 当左侧的值存在时
        console.log(person.id ?? person.name);// 1
 
        // 当左侧值为null时
        console.log(person.desc ?? person.name);// 蒸肉米粉
        // 当左侧值为undefined
        console.log(person.skill ?? person.name);// 蒸肉米粉

3.逻辑空赋值运算符  ??= 

在左侧值为 null 或 undefined  时,对其赋值

        const person = { id: 1, name: '蒸肉米粉', desc: null };
 
        // 当左侧的值存在时
        console.log(person.id ??= person.name);// 1
 
        // 当左侧值为null时
        console.log(person.desc ??= '蒸肉米粉粉');// 蒸肉米粉
        // 当左侧值为undefined
        console.log(person.skill ??= '蒸肉米粉粉');// 蒸肉米粉

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js中?. 、?? 、??=的用法及含义 的相关文章

  • COMODO杀毒软件Linux版

    科摩多Linux杀毒软件 CAVL 提供同样出色的防病毒保护 xff0c 同时附带一个额外的完全可配置的反垃圾邮件系统 具有按访问和按需求病毒扫描 xff0c CAVL还采用了基于云计算的对未知文件的分析 xff0c 针对零日恶意软件提供了
  • ubuntu系统下安装windows并引导双系统

    首先 xff0c 感谢wenbusy xff0c 给了我很大的帮助 xff0c 以下部分内容来自于该博主 windows系统安装ubuntu很容易 xff0c 但在ubuntu下如何安装windows构成双系统并成功引导 xff1f 本文来
  • 3.4 小乌龟git使用说明

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 安装二 使用步骤1 设置语言2 添加你的git 用户名和邮箱3 创建git空项目3 1 方法1 本地创建3 2 方法2
  • WinScp连接Win7

    本机安装WinScp 目标Win7安装OpenSSH 下载openSSH https github com PowerShell Win32 OpenSSH releases下载后解压放在C xff1a ProgramFiles目录下设置环
  • DEBIAN_FRONTEND noninteractive参数

    DEBIAN FRONTEND这个环境变量 xff0c 告知操作系统应该从哪儿获得用户输入 如果设置为 noninteractive xff0c 你就可以直接运行命令 xff0c 而无需向用户请求输入 xff08 所有操作都是非交互式的 x
  • RFC3630 - TE Extensions to OSPF Version 2中文

    Traffic Engineering TE Extensions to OSPF Version 2 该标准是RFC2370的更新 标准RFC2370是关于OSPFv2的Opaque LSA的扩展 xff0c 在被更新以后 xff0c 已
  • 【分享】免梯子的chatGPT,玩 ChatGPT 的正确姿势

    火了一周的 ChatGPT xff0c HG 不允许还有小伙伴不知道这个东西是什么 xff1f 简单来说就是 xff0c 你可以让它扮演任何事物 xff0c 据说已经有人用它开始了颜色文学创作 因为它太火了 xff0c 所以 xff0c 本
  • 使用Unity3D Physics来工作

    这个教程将教你如何用Unity3D构建一个小球击倒柴火堆的游戏 xff01 在这个过程中 xff0c 你将了解到关于使用物理引擎的重要性和你这么做后可以减少无数小时的手工动画的时间 继续阅读 xff01 有什么完整的现代游戏引擎会缺少物理引
  • 不想学挖掘机的厨师不是好程序员!

    程序员大部分学历都不高 xff1f 我想是的 xff0c 因为刚开始只要你会敲代码 xff0c 就能挣到钱的 相比于其他行业 xff0c 程序员的工资还是受很多人认可的 xff0c 我就是其中的一员 但是我们想往高处爬 xff0c 显然没有
  • 关于X射线球管的参数

    球管的规格参数包括结构参数和电参数两种 前者指球管结构所决定的各种参数 xff0c 如靶面的倾斜角度 有效焦点 外形尺寸 重量 管壁的滤过当量 阳极转速 工作温度和冷却形式等 电参数是指球管电性能的规格数据 xff0c 如灯丝加热电压和电流
  • [DSA] 决定数字血管造影系统综合性能的关键参数研究

    一 购买数字血管造影系统的目的 xff1a 放射介入学的出现 xff0c 彻底改变了放射学在医学中的地位 xff0c 使放射学不仅能够诊断 xff0c 而且能够治疗 xff0c 并将诊断与治疗有机的结合起来 xff0c 它已渗透到了临床学科
  • 软件的生命周期(软件工程各阶段的工作)

    其实软件工程是一个非常大的概念 xff0c 我们的软件测试也好 xff0c 软件开发也好 xff0c 软件运维也好 xff0c 其实都是属于软件工程的范畴 今天就讲一讲软件工程和我们软件测试相关的一些内容 我们今天三个主要的节点 xff1a
  • 查看磁盘分区UUID的四种方法

    查看磁盘分区 UUID 的四种方法 xff08 Helloblock 写作 xff09 1 使用 dev disk by uuid 目录 root 64 server ls l dev disk by uuid 总用量 0 lrwxrwxr
  • Lodash 核心 lodash

    baseCreate Object create ptoto propertiesObject 不能以名称而去定义该方法的作用 它并不只是为了创建一个对象 其可以理解为 34 创建一个继承了指定对象的对象 34 并且创建后的对象是不存在原型
  • MySql之索引

    索引 1 gt 什么是索引 xff1f 2 gt MySql的查询方式3 gt 索引的实现原理4 gt 索引应用在什么情况下5 gt 索引的创建 删除6 gt 索引的常见失败情况第一种情况即使添加了索引也不走索引的原因 第二种情况第三种情况
  • VNC远程管理配置

    其实配置VNC很简单 xff0c 只要运行vncserver就好了 运行完毕后 xff0c 它会在家目录生成 vnc目录 xff0c 里面最重要的一个文件是Xstartup 然后你可以使用vncviewer yourremotehost i
  • uCOS/FreeRTOS任务创建的两种模式

    在我们使用uCOS FreeRTOS编写代码时 xff0c 首先要面临的一个问题是怎样创建任务并启动整个系统 一般来说 xff0c 我们会有两种不同的方式 这两种方式不仅适用于uCOS FreeRTOS xff0c 同时也适用于其它RTOS
  • 树莓派 —— 配置Windows通过VNC连接树莓派

    VNC简介 VNC Virtual Network Console 是虚拟网络控制台的缩写 它 是一款优秀的远程控制工具软件 xff0c 由著名的 AT amp T 的欧洲研究实验室开发的 VNC 是在基于 UNIX 和 Linux 操作系
  • 测试UDP端口连通性

    测试UDP端口连通性 Linux使用netcat测试udp端口Centos7安装netcat 依赖epel源 netcat常用参数使用netcat创建TCP客户端和服务器使用netcat创建UDP客户端和服务器 windows使用netca
  • Centos7安装kvm服务器

    Centos7安装kvm服务器 什么是kvmvirt manager及相关软件简介virt manger架构及原理KVMQEMULibvirt 检查硬件是否支持kvm虚拟化启用嵌套虚拟化 可选 检查是否启用嵌套虚拟化热生效嵌套虚拟化 临时启

随机推荐

  • IP子网划分与计算

    IP地址分为5类 A类 xff1a 0 0 0 0 127 255 255 255 8bit B类 xff1a 128 0 0 0 191 255 255 255 16bit C类 xff1a 192 0 0 0 223 255 255 2
  • 透镜成像原理,眼球成像原理,小孔成像原理

    透镜成像规律总结 规律1 xff1a 当物距大于 2 倍 焦距 时 xff0c 则像距在1 倍焦距和 2 倍焦距之间 xff0c 成倒立 缩小的实像 此时像距小于物距 xff0c 像比物小 xff0c 物像异侧 应用 xff1a 照相机 摄
  • Ubuntu语言支持为灰色修复方法

    在Ubuntu12 04中 xff0c 在下不知为何将语言支持中应用到整个系统和添加语言这2个按弄成了灰色 xff0c 导致ibus 不能输入中文 xff0c 修复方法如下 xff1a 1 启动terminal xff0c 输入如下命令 x
  • torch中Tensor和numpy相互转化

    Numpy转为Tensor 使用torch from numpy 如 import torch B 61 torch from numpy A Tensor转为Numpy 使用data numpy 如 import torch C 61 B
  • LXD/LXC raw.idmap 使用方法和作用

    官方文档 xff1a https github com lxc lxd blob master doc userns idmap md 设置和取消设置 raw idmap xff0c 都需要重启容器才能应用 并且在重启容器时 xff0c 会
  • LXD/LXC 奇怪的重启断网问题解决。

    2023 4 10 日更新 搞 Debian 系统的 LXD 时 xff0c 发现了 Debian 对 lxd 的已知问题跟踪 似乎是 Docker 的原因 已知问题 跟踪链接 xff1a https wiki debian org LXD
  • SSH连接问题:连不上&不能免密登录

    一 连不上 ssh username 64 ip 报错 xff1a ssh connect to host lt ip4地址 gt port 22 Connection timed out 首先排查 xff0c 排查步骤 xff1a 1 p
  • Java经典面试题总结

    本文分为十九个模块 xff0c 分别是 xff1a Java 基础 容器 多线程 反射 对象拷贝 Java Web 异常 网络 设计模式 Spring Spring MVC Spring Boot Spring Cloud Hibernat
  • 单例模式常见场景

    单例模式 Singleton 也叫单态模式 xff0c 是设计模式中最为简单的一种模式 xff0c 甚至有些模式大师都不称其为模式 xff0c 称其为一种实现技巧 xff0c 因为设计模式讲究对象之间的关系的抽象 xff0c 而单例模式只有
  • Java 基础系列(十) --- 什么是向上转型和向下转型

    1 向上转型 1 1 为何叫向上转型 在面向对象程序设计中 针对一些复杂的场景 我们通常画一个UML图来表示各个类之间的关系 通常父类画在子类的上方 因此我们就称之为 34 向上转型 34 表示往父类的方向转 向上转型发生的时机 直接赋值
  • Python函数式编程——map()、reduce()

    原文链接 提起map和reduce想必大家并不陌生 xff0c Google公司2003年提出了一个名为MapReduce的编程模型 1 xff0c 用于处理大规模海量数据 xff0c 并在之后广泛的应用于Google的各项应用中 xff0
  • [Linux] CentOS8 升级

    A CentOS8 0升级到8 5的方法 由于CentOS8已经仅仅维护Stream xff0c 8 Linux都已经不在维护 对应仓库都清空了 不过有时候 xff0c 我们依然需要安装对应小版本 xff0c 比如8 5 这里摸索了一个更新
  • word 插入公式附加右侧编号方法

    主要添加编号的方法就是在公式后面 xff0c 添加 编号 xff0c 输入光标在公式的最后 xff0c 然后回车 效果如下 xff1a 需要注意的有两点 xff1a 1 必须要保证 不属于公式内部 xff08 如果不清楚如何保证 键属不属于
  • iscsiadm命令用法

    启动iscsi守护进程 span class token function service span iscsi start 发现目标 iscsiadm m discovery t sendtargets p 192 168 1 1 326
  • centOS7关闭防火墙

    查看防火墙状态 xff1a systemctl status firewalld service 如图 绿的running表示防火墙开启 执行关闭命令 xff1a systemctl stop firewalld service 再次执行查
  • Linux 包管理基础:apt、yum、dnf 和 pkg常用命令

    介绍 大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件 软件通常都是存放在存储库中 xff0c 并通过包的形式进行分发 处理包的工作被称为包管理 包提供了操作系统的基本组件 xff0c 以及共享的库 应用程序 服
  • opensd开源啦 !这套自动化部署OpenStack工具你值得拥有

    2022年8月 xff0c 经openEuler开源社区技术委员会审议通过 xff0c 联通数科正式将opensd开源至openEuler开源社区 opensd是联通数科为解决OpenStack企业级部署的复杂性 xff0c 针对自身Ope
  • 边缘计算的解决方案大集合

    自今年2月的巴塞罗那世界移动通信大会召开以来 xff0c 边缘计算无疑是C位出道 xff0c 爆发释放在人们的视野中 xff0c 成为今年业界最热门的领域之一 顺着5G的东风 xff0c 边缘计算的诞生成为历史必然 xff0c 整个行业都在
  • 计网(笔记版)---外部网络路由协议之BGP协议

  • js中?. 、?? 、??=的用法及含义

    1 可选链运算符 是不是经常遇到这样的错误 TypeError Cannot read properties of null reading 39 xxx 39 引入可选链就是为了解决这个问题 const person 61 id 1 na