JavaScript 中问号的三种用法 ??和?.以及?: 的您知道吗?

boyanx4周前技术教程5




最近看了一些关于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

如果您还知道哪些JS 中关于问号的特殊用法欢迎留言讨论。如果文章帮到了您,劳烦点赞转发!

标签: js在线测试

相关文章

软件测试|web自动化测试神器playwright教程(一)

前言提起web自动化测试框架,我们首先想到的就是selenium,selenium基本上成为了必选的web自动化测试框架,测试工程师也必须学这个框架的使用,web自动化测试用例也依靠这个框架去执行。直...

JavaScript数据类型检测

1. JavaScript中的数据类型JavaScript的数据类型分为两类:原始类型(Primitive type)、引用类型(Reference type),二者在内存中的存储位置不同。判断一个变...

Top 57个JavaScript面试题和答案大全

近年来,从事JavaScript的程序员越来越多,JavaScript的曝光率也越来越高,如果你想转行试试JavaScript,不妨收下这份面试题及答案,没准用得上。当然,如果针对这些问题,你有更棒的...

推荐一个检测 JS 内存泄漏的神器

大家好,我是 Echa哥。作为一名 Web 应用程序开发者,排查和修复 JavaScript 代码的内存泄漏一直是最困扰我的问题之一。最近,Meta 开源了一款检测 JavaScript 代码内存泄漏...

国内浏览器跑分差别这么大?测试下来惊呆了

对于用户来说评定一款好的浏览器,无非在于启动加载速度,易用稳定以及便捷功能三大方面;那么,在现存主流浏览器日益激烈的博弈中,谁更能是用户最爱,成为最具竞争力的浏览器呢?下面我们就分别选取了三款国产浏览...

Web 服务器基准测试:Go vs. Node.js vs. Nim vs. Bun

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。文章大部分内容...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。