JavaScript 中问号的三种用法 ??和?.以及?:

 更新时间:2025年04月10日 11:45:35   作者:测试开发Kevin  
本文主要介绍了JavaScript 中问号的三种用法 ??和?.以及?: ,分别是空值合并操作符、可选链操作符和三目运算,具有一定的参考价值,感兴趣的可以了解一下

 最近看了一些关于JavaScript的测试脚本,觉得JS 中问号的用法还是蛮有意思的,于是做了一下总结,在这里分享给大家!JS中的问号大概有三种用法,分别是:空值合并操作符、可选链操作符和三目运算。

问号问号(??)

空值合并操作符??是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。

例如

console.log(null ?? "xx")
输出 xx
console.log(1 ?? "xx")
输出 1

问号点 (?.)

可选链操作符(?.)可选链操作符允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。 使用它的好处是引用为null 或者 undefined的情况下不会引起错误。

语法:obj?.prop obj?.[expr] arr?.[index] func?.(args)

例如

var obj={a:{b:1}}
console.log(obj?.a?.b)
输出1
console.log(obj?.a?.c)
输出 undefined

问号冒号(?: )

这是三目运算,具体表达式是(condition ? exprIfTrue : exprIfFalse)

该表达式的含义是 条件condition是真,则执行exprIfTrue ,否则执行exprIfFalse

举个例子大家就懂了

var n = 10;
console.log((n >= 11) ? "a" : "b");
输出b
当 var n = 12;
输出a

到此这篇关于JavaScript 中问号的三种用法 ??和?.以及?: 的文章就介绍到这了,更多相关JavaScript 问号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:

相关文章

  • 谈谈JS中常遇到的浏览器兼容问题和解决方法

    谈谈JS中常遇到的浏览器兼容问题和解决方法

    这篇文章主要介绍了谈谈JS中常遇到的浏览器兼容问题和解决方法 ,有些代码在某些浏览器的某些版本中表现出不兼容,影响页面的体验;这时就需要处理了这些兼容问题,让页面在多个版本的浏览器上运行良好。
    2016-12-12
  • 如何让微信小程序页面之间的通信不再变困难

    如何让微信小程序页面之间的通信不再变困难

    这篇文章主要给大家介绍了关于如何让微信小程序页面之间的通信不再变困难的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用微信小程序具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • layui 选择列表,打勾,点击确定返回数据的例子

    layui 选择列表,打勾,点击确定返回数据的例子

    今天小编就为大家分享一篇layui 选择列表,打勾,点击确定返回数据的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JS随机漂浮广告代码具体实例

    JS随机漂浮广告代码具体实例

    这篇文章主要介绍了JS随机漂浮广告代码具体实例,有需要的朋友可以参考一下
    2013-11-11
  • 写的htc的数据表格

    写的htc的数据表格

    写的htc的数据表格...
    2007-01-01
  • webpack-dev-server核心概念案例详解

    webpack-dev-server核心概念案例详解

    这篇文章主要介绍了webpack-dev-server核心概念案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • Javascript怎样使用SessionStorage和LocalStorage

    Javascript怎样使用SessionStorage和LocalStorage

    这篇文章主要介绍了Javascript怎样使用SessionStorage和LocalStorage,对web存储数据感兴趣的同学,可以参考下
    2021-04-04
  • js实现跨域访问的三种方法

    js实现跨域访问的三种方法

    这篇文章主要介绍了js实现跨域访问的三种方法,包括基于iframe实现跨域、基于script标签实现跨域以及后台代理方式 ,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 浅谈Javascript数组(推荐)

    浅谈Javascript数组(推荐)

    数组,即Array类型,是开发中最常用的类型之一。这篇文章主要介绍了浅谈Javascript数组的相关资料,需要的朋友可以参考下
    2016-05-05
  • 收藏一个代码

    收藏一个代码

    收藏一个代码...
    2006-08-08

最新评论