美文网首页
JS 里的 || && ?? ?

JS 里的 || && ?? ?

作者: 前端老邹_伯通 | 来源:发表于2021-11-25 19:58 被阅读0次
let usr1 = undefined
// 1. 逻辑或 可以用来 设置默认值:如果 左边 可以 转成false,则返回右边的值
//                                        可以 转成true,则返回 左边的值
let res = usr1 || '默认值'
console.log('------||-------')
console.log(res)

// 2. 逻辑与 用来简化 if判断,如果 左边 执行结果为 true,则 执行右边
//                                              false,则 不执行右边
res =  usr1 && '表达式'
console.log('------&&-------')
console.log(res)

// 【设置默认值 推荐用 ??】
// 3. ?? 空值合并操作符,只有 左边为 undefined/null 时,才返回 右边的值
res = usr1 ?? '右边值'
console.log('------??-------')
console.log(res)

// 4. ? 可选链操作符,如果不确定 对象是否存在,则 在调用成员前,可以使用 ?
//      这样 就不会 报undefined错误了!
let o = { age:12 , dog:{name:'ruiky',run(){console.log('汪汪汪')}}}
console.log(o.age)
console.log(o.dog?.name) // 有属性   则 返回 属性值
console.log(o.cat?.name) // 没有属性 则 返回 undefined
o.dog.run?.() // 如果 有方法,则 调用
o.dog.bark?.() // 如果 没有方法,则 不调用,也不报错

相关文章

  • js 里的!~

  • JS 里的 || && ?? ?

  • express 写POST接口,fetch请求

    express后端 express里新建接口js文件apitest.js 再在app.js里引入 客户端(RN) ...

  • js里的对象

    全局对象(glablo)window(浏览器下[特例]) winndow的属性window属性分为ECMAscri...

  • JS里的继承

    1. 继承 简介一层原型链搜索不叫继承,两层原型链的搜索才叫继承let a = new Array();a.__p...

  • JS 里的数组

    数组用法 在说数组的用法前先研究下string的用法和加new的用法 由此可见,直接使用和new的区别是:没有ne...

  • JS 里的数据

    在整理JS的数据前,先把JS的一些知识了解。JavaScript其实叫ECMAScript,因为网景公司防止微软一...

  • JS 里的类型

    null 上面报错的意思:toString点前面的是null,因为null没有toString这个API,所以会报...

  • JS 里的对象

    Number var n1 = 1 用这种var n2 = new Number(1) 很少用n1本来没有t...

  • JS 里的函数

    讲函数前,先了解Function和function的区别。 function是关键字(if else var )f...

网友评论

      本文标题:JS 里的 || && ?? ?

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