美文网首页
?? 以及 || 以及 ?.

?? 以及 || 以及 ?.

作者: 陈大事_code | 来源:发表于2021-07-19 10:59 被阅读0次

一、?? 与 || 的区别

// ||
let a = ''
a = null
a = false
a = null
a = undefined

let c = a || 2      //  c = 2

上面五种都可以造成a||2短路

// ??
let a = null
a = undefined

let b = 0

let c = a ?? 2 // c = 2

c = b ?? 3 // c = 0

只有a为null/undefined时,才会短路,否则返回左侧值

二、?.(可选链)

  • 作用:可以获取对象深处的某个属性值,且该属性可以不存在,
  • . ** 的区别:?.** 更为安全,当取不到不存在的属性时,不用报错,会短路返回值,undefined
  • 使用:
// 1.对象使用
let obj = { a: 'cc'}
obj?.c // undefined
obj?.a // 'cc'
obj?.['b'] // undefined 该方法属性为变量可以使用

// 2.数组使用
let arr = [1,2,3]
arr?.[1] // 1为下标

// 3.函数使用
let obj1 = {
    fnc: val => {
        console.log('i am', val)
    }
}
obj1?.fna?.() // undefined
obj1?.fnc?.('cc') // i am cc

相关文章

  • ?? 以及 || 以及 ?.

    一、?? 与 || 的区别 上面五种都可以造成a||2短路 只有a为null/undefined时,才会短路,否则...

  • 以及

    我不曾出远门 我不知下过雨 我在南方湿润的空气里 遭遇了鲜花 我所有的高尚 我所有的卑躬屈膝 以及 你

  • Date以及DateTime以及TimeStamp

    ①date类型可用bai于需要一个日期值而不需du要时间zhi部分时; ②datetime类型:可用于需要同时包含...

  • FTP配置以及上传文件以及

    1.打开windows server2012R2 服务器管理器界面添加角色和功能 2.在添加角色和功能向导里,选择...

  • useradd以及

    首先是基本的用法,自己多取试,然后每次用tail -1 /etc/passwd去看自己添加的结果就行了。 然后最好...

  • 以及青岛

    暑假接近末尾的时候,我最期待的事情是我和傻丙说好的青岛之行。我毕业之时没能成行毕业旅行,他比我更耿耿于怀。一早就下...

  • 以及待人

    很多人心里不管是处事还是和女人在一起时造成的失败或者背叛一味的自己心里或者朋友面前说我对他(她)那么好!还是背叛他...

  • Es的jar以及环境安装以及错误

    1:jar包冲突 jar包冲突:jruby-complete 与 joda-time jar 包冲突。两者中都有o...

  • 自私以及下贱

    周四邓洋问祁望现在对我什么感觉 他说他现在压力大 来自父亲的压力 祁望说他想好好学习 高中后再说 邓洋说我也想好好...

  • js以及json

    js对象转换字符串:JSON.stringify(要转换的对象)json字符串转换成js对象:JSON.parse...

网友评论

      本文标题:?? 以及 || 以及 ?.

      本文链接:https://www.haomeiwen.com/subject/ltvcmltx.html