JavaScript中高级语法??表达式用法示例详解

 更新时间:2023年04月17日 11:05:38   作者:前端代码王  
这篇文章主要为大家介绍了JavaScript中高级语法??表达式用法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

JavaScript中,双问号(??)表达式是一种非常有用的方法。它的作用是用来检测一个值是否为nullundefined。如果该值为nullundefined,那么双问号表达式会返回一个默认值。

下面我们就来具体探究一下双问号表达式的用法,以及它与其他相似方法的区别。

具体用法。

其实,双问号表达式就是一个三目运算符的简化写法,如下所示:

const result = value !== undefined && value !== null ? value : defaultValue;

在上面的表达式中,我们检测了value 是否等于undefinednull,如果不等于,我们返回value本身。

否则,我们返回一个默认值defaultValue。这种写法虽然功能简单,但是有着很多的重复代码,不利于代码的维护和可读性。

因此,双问号表达式的出现就解决了这个问题。双问号表达式的语法结构如下:

const result = value ?? defaultValue;

这行代码的意思是:如果value的值为nullundefined,那么返回defaultValue;否则返回value的值本身。使用双问号表达式,代码看起来就简洁明了。

那么双问号表达式和其他的相似方法有什么不同呢?

其实,JavaScript中还有一种方法也能实现双问号表达式的效果——逻辑或操作符(||)。例如:

const result = value || defaultValue;

这段代码的含义和前面的代码是相同的。其中,||操作符的原理是:如果第一个操作数为真,则返回第一个操作数的值;否则返回第二个操作数的值。这里的包括了所有不为null、undefined、false、0、空字符串的值。

因此,如果value的值是nullundefined,那么返回的就是defaultValue

那么二者之间有什么明显的区别呢?

双问号表达式和||操作符最重要的区别在于空字符串的处理方式。

在使用||操作符时,如果value是空字符串(""),那么返回的值也是defaultValue。但是在使用双问号表达式时,如果value是空字符串,那么返回的就是空字符串本身。

这种区别可能对于某些特定的应用场景非常重要,因此,我们需要根据实际情况选择不同的方法。

总结

双问号表达式是一种非常实用的方法,在JavaScript中得到了广泛的应用。它的语法简洁明了,代码可读性强,特别是在处理nullundefined的情况下,能够大大简化代码。然而,在具体应用时我们也需要注意与其他方法的区别,根据实际情况选择最适合的方法。

以上就是JavaScript中高级语法??表达式用法示例详解的详细内容,更多关于JavaScript语法??表达式的资料请关注脚本之家其它相关文章!

相关文章

  • js获取当前页面路径示例讲解

    js获取当前页面路径示例讲解

    本篇文章主要是对js获取当前页面路径的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • JavaScript SHA512&SHA256加密算法详解

    JavaScript SHA512&SHA256加密算法详解

    本文给大家分享的是javascript版的SHA512&SHA256加密算法的代码,以及用法,有需要的小伙伴可以参考下。
    2015-08-08
  • 浮动的div自适应居中显示的js代码

    浮动的div自适应居中显示的js代码

    这篇文章主要介绍了浮动的div自适应居中显示的js代码,有需要的朋友可以参考一下
    2013-12-12
  • JavaScript获取Url里的参数

    JavaScript获取Url里的参数

    这篇文章主要介绍了JavaScript获取Url里的参数,需要的朋友可以参考下
    2014-12-12
  • 给应用部分的js代码设定一个统一的入口

    给应用部分的js代码设定一个统一的入口

    javascript是种脚本语言,浏览器下载到哪儿就会执行到哪儿,下面为大家介绍下,如何给应用部分的js代码一个统一的入口
    2014-06-06
  • 对Layer UI 模块化的用法详解

    对Layer UI 模块化的用法详解

    今天小编就为大家分享一篇对Layer UI 模块化的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • javascript Canvas动态粒子连线

    javascript Canvas动态粒子连线

    这篇文章主要为大家详细介绍了javascript Canvas动态粒子连线,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • 原生javascript实现自动更新的时间日期

    原生javascript实现自动更新的时间日期

    这篇文章主要介绍了原生javascript实现自动更新的时间日期的相关资料,对实现代码进行详细分析,感兴趣的朋友可以参考一下
    2016-02-02
  • TypeScript转javaScript的方法示例

    TypeScript转javaScript的方法示例

    本文主要介绍了TypeScript转javaScript的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • js实现按钮进行某行上移下移

    js实现按钮进行某行上移下移

    这篇文章主要为大家详细介绍了js实现按钮进行某行上移下移,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论