首页 > 其他分享 >js中 ?? 与 || 的区别

js中 ?? 与 || 的区别

时间:2023-04-18 10:56:38浏览次数:27  
标签:返回 false undefined 区别 js null true

都是根据前面的值来判断最终返回前面的值还是后面的值。

a ?? b
a || b

判断的方法不同:
使用 ?? 时,只有 anull 或者 undefined 时才会返回 b;
使用 || 时,a会先转化为布尔值判断,为 true 时返回a, false 返回b.

??更加适合在不知道变量是否有值时使用

// ??
undefined ?? 2	        // 2
null ?? 2               // 2
0 ?? 2			// 0
"" ?? 2			// ""
true ?? 2		// true
false ?? 2		// false

// ||
undefined || 2	        // 2
null || 2		// 2
0 || 2			// 2
"" || 2			// 2
true || 2		// true
false || 2		// 2

标签:返回,false,undefined,区别,js,null,true
From: https://www.cnblogs.com/haPro/p/17328772.html

相关文章

  • STM32F103与407区别
    STM32F103与407区别......
  • 一段话理解正向代理和反向代理的区别
    正向代理和反向代理的区别 虽然正向代理服务器和反向代理服务器所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端,但是二者之间还是有一定的差异的。 1、正向代理其实是客户端的代理,帮助客户端访问其无法访问的......
  • java如何将JSONObject转成实体对象
    importcom.google.gson.Gson;importorg.json.JSONObject;//...JSONObjectjson=newJSONObject("{\"name\":\"JohnSmith\",\"age\":30}");Gsongson=newGson();Personperson=gson.fromJson(json.toString()......
  • js颜色的单词名称字符串转为rgb颜色值
    将js单词名称如red,green,blue转为rgb颜色值,暂时没找到什么特别的方法。网上找到了颜色名称与rgb值的对应表,然后构造成map获取rgb值。代码放在:https://github.com/lxmghct/my-vue-componentssrc/utils/color_convert.js下。完整代码如下:constname2rgbMap={ 'aliceblu......
  • wangeditor5 vue2 安装后运行报错 Error in ./node_modules/@wangeditor/editor/d
    问题解决方法:原因就是引入的链接不对,使用cnpm、npm、pnpm、yarn安装插件的时候,路径都是不一样的,所以要对应着改路径就可以了链接:https://github.com/wangeditor-team/wangEditor/issues/4041......
  • 开发在线客服系统聊天界面,JS实现相邻两条消息之间间隔小于3分钟,就不展示消息时间
    我在开发一个客服聊天界面,每条消息都有发送时间,我想要实现相邻两条消息之间间隔小于3分钟的就不展示发送时间.下面就是消息的JSON结构,里面的time就是发送时间message={"msg_id":629255,"time":"2023-02-1100:41:04","content":"chatGPT","mes_type":"vi......
  • 深拷贝和浅拷贝的区别
    浅拷贝:浅拷贝会在堆上创建一个新的对象(区别于引用拷贝的一点),不过,如果原对象内部的属性是引用类型的话,浅拷贝会直接复制内部对象的引用地址,也就是说拷贝对象和原对象共用同一个内部对象。深拷贝:深拷贝会完全复制整个对象,包括这个对象所包含的内部对象。引用拷贝:就是......
  • Comparator和comparable的区别
    区别:comparator接口实际上是出自java.util包,它有一个compare(Objectobj1,Objectobj2)方法用来排序(比较器)comparable接口实际上是出自java.lang包,它有一个compareTo(Objectobj)方法用来排序(排序接口)Comparator定制排序:compare方法中调用的是对象实现comparab......
  • canvas和svg区别
    Canvas描述:通过Javascript来绘制2D图形。是逐像素进行渲染的。其位置发生改变,会重新进行绘制。SVG描述:一种使用XML描述的2D图形的语言SVG基于XML意味着,SVGDOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器。在SVG中,每个被绘制的图形均被视为对象。如果SVG......
  • RobotJS截取屏幕screen.capture踩坑
    调用robot.screen.capture()或robot.screen.capture(0,0,1920,1080),返回的Bitmap对象是色彩格式是BGR色彩,这导致了如果未经处理就直接生成图像,色彩会产生错误,只需将BGR色彩转换成RGB色彩即可。constrobot=require('robotjs');constjimp=require("jimp");constswapR......