首页 > 其他分享 >可选链操作符、逻辑与、空值合并运算符

可选链操作符、逻辑与、空值合并运算符

时间:2022-08-30 10:37:10浏览次数:100  
标签:空值 obj name console 运算符 可选链 let 操作符 log

可选链操作符(?.)

首先我们的明白一点,以下代码会报错吗?

let obj = {}
let a = obj.name
console.log(a);

那么,以下代码呢?

let obj = {}
let a = obj.name.firstName
console.log(a);

再有这个呢?

let obj = {}
let a = obj.name?.firstName
console.log(a);

这个输出什么?

let obj = {
    name: 'jack'
}
let a = obj.name?.firstName
console.log(a);

?. 操作符的功能类似于 . 链式操作符,不同之处是,在 undefined.xxx 的时候不会抛出异常,它只是返回 undefined,这就是它的神奇之处

没有异常,就意味着代码不会挂

它跟 逻辑与(&&) 类似,但可选链操作符更短、更简明

逻辑与(&&)

猜猜它会输出什么?

let obj = {
    name: 'jack'
}
let a = obj.name && obj.name.firstName
console.log(a);

空值合并运算符(??)

当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。

以上内容都可以在 MDN 搜到的,使用以上操作符的目的主要是让代码不报异常,类似于 cb && cb() 的例子除外

标签:空值,obj,name,console,运算符,可选链,let,操作符,log
From: https://www.cnblogs.com/zhumenglong/p/16638404.html

相关文章

  • 第6章 分支语句和逻辑运算符
    说明看《C++PrimerPlus》时整理的学习笔记,部分内容完全摘抄自《C++PrimerPlus》(第6版)中文版,StephenPrata著,张海龙袁国忠译,人民邮电出版社。只做学习记录用途。目......
  • EL表达式和EL运算符
    EL表达式1。概念:ExpressionLanguage表达式语言2.作用:替换和简化jsp页面中java代码的编写3,语法:$表达式}4,注意:"jsp默认支持el表达式的。如果要忽略el表达式1.设......
  • Go语言中的运算符
    ✍️介绍了Go中算术运算符,逻辑运算符,关系运算符等。这些是编程语言通用的,学到这,想起来大学时学c,vb和java的时光了。1.算术运算符1.1加、减、乘、除,取余var( a=1......
  • Codesys提升程序运行效率之AND_THEN、OR_ELSE运算符的使用
    之前看到有博文写Codesys程序编写标准中有一条,多个判断条件的if-else-语句,可能性最大的条件应放到最前面,这样可减少PLC处理的时间。但是根据测试,情况并非如此。下面的例子......
  • PHP 中的三元运算符和or表达式对比[defined() or define()]
    在php代码中我们经常看到这样的写法:$max=$a>$b?$a:$b;mysql_connect($user,$passwd,$db)ordie($mess);下面对这两种常见的写法做以下说明:第一种:典型的三元运算......
  • R语言中any运算符是什么意思
     R中any运算符用于判断逻辑向量中是否至少有一个是TRUE。001、any(c(FALSE,FALSE,FALSE))##用于判断逻辑向量中是否至少一个为TRUEany(c(FALSE,FALSE,TR......
  • Java-Java中的运算符
    一、Java&、&&、|、||、^、<<、>>、~、>>>等运算符&(按位与)&&(逻辑与)|(按位或)||(逻辑或)^(异或运算符)<<(左移运算符)>>(右移运算符)~(取反运算符)>>>(无符号右移运算符)二......
  • 解构和扩展运算符
    解构解构赋值是对赋值运算符的扩展。是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据......
  • 运算符
    运算符Java语言支持如下运算符:优先级()算术运算符:+、-、*、/、%、++(自增)、--(自减)赋值运算符=关系运算符:>、<、>=、<=、==(Java里的等于用两个等号)、!=instanceof(不等......
  • 与运算符号问题、异或、短路与、短路或
    异或记忆口诀即:男同女同不可取(为false),男女才能修成正果(为true)......