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

boyanx6个月前技术教程28




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

相关文章

云计算平台CartoDB发布开源工具Odyssey.js测试版

在这个世界上,总会发生点儿什么事情。这也正是开源工具Odyssey.js背后的逻辑。Odyssey.js利用地图将数据转变为交互式多媒体内容,同时还不需要用户具备专业的编程技能。在从KnightPro...

Javascript实现人脸检测 #前端开发

今天我们来探讨人脸检测。就像我们现在看到的这个界面一样,通过人脸检测技术,可以识别出用户的眉毛、眼睛、鼻子、嘴巴和下巴的轮廓,还可以判断用户的大致年龄和性别。下面,我们将详细介绍如何实现这一功能。实现...

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

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

V8 JavaScript 引擎发布 5.0 测试版

V8 团队发布了 V8 5.0,暂时停留在测试版,预计 Chrome 50 Stable 发布之后就会发布 V8 5.0 正式版。V8 发布进程 一般是在一个 Chrome Beta 里程碑测试的时候...

Javascript中判断数组的正确姿势

51RGB在 Javascript 中,如何判断一个变量是否是数组?最好的方式是用 ES5 提供的 Array.isArray 方法(毕竟原生的才是最屌的):var a = [0, 1, 2];con...

Google Chrome浏览器在Speedometer3性能测试中获得“史上最高分”

Google今日宣布,其 Chrome 浏览器在 Speedometer 3 基准测试中获得了“史上最高分”。Speedometer 3 旨在衡量浏览器性能,由Google、苹果、英特尔、微软和 Mo...

发表评论    

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