返回顶部
首页 > 资讯 > 精选 >JavaScript中有哪些强大的运算符
  • 899
分享到

JavaScript中有哪些强大的运算符

2023-06-25 14:06:03 899人浏览 薄情痞子
摘要

小编给大家分享一下javascript中有哪些强大的运算符,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、??空值合并运算符如果你第一次遇到它,看到的是两个问号,估计脑海里还有更多的问号(小朋友,你是否有很多问号~~~)

小编给大家分享一下javascript中有哪些强大的运算符,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    一、??空值合并运算符

    如果你第一次遇到它,看到的是两个问号,估计脑海里还有更多的问号(小朋友,你是否有很多问号~~~)

    两个问号??其美名曰空值合并操作符,如果第一个参数不是 null/undefined,将返回第一个参数,否则返回第二个参数。

    console.log(1 ?? "www.shanzhzonglei.com"); // 1console.log(false ?? "www.shanzhzonglei.com"); // falseconsole.log(null ?? "www.shanzhzonglei.com"); // www.shanzhzonglei.comconsole.log(undefined ?? "www.shanzhzonglei.com"); // // www.shanzhzonglei.com

    所以,只有当第一个参数是 null/undefined 的时候,才返回第二个参数。

    注意,虽然 js 中的未定义 undefined、空对象 null、数值 0、空数字 NaN、布尔 false,空字符串''都是假值,但??非空运算符只对 null/undefined 做处理。

    它与逻辑或操作符(||)不同,逻辑或操作符会在左侧操作数为假值时返回右侧操作数。比如为假值('' 或 0)时。

    console.log(1 || 2); // 1console.log("" || 2); // 2

    二、??=空赋值运算符

    哦,现在还不止两个问号,还多了一个等号,题目越来越难了么?

    ??=空赋值运算符,仅当值为 null 或 undefined 时,此赋值运算符才会赋值。

    const student = { age: 20 };student.age ??= 18;console.log(student.age); // 20student.name ??= "shanguagua";console.log(student.name); // 'shanguagua'

    它和上面的??空值合并运算符是有联系的:x ??= y等价于x ?? (x = y),只有当 x 为 null 或 undefined 时,x = y才会执行。

    let x = null;x ??= 20;console.log(x); // 20let y = 5;y ??= 10;console.log(y); // 5

    三、?.可选链操作符

    可选链操作符?.允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。操作符会隐式检查对象的属性是否为 null 或 undefined,代码更加优雅简洁。

    const obj = {  name: "山呱呱",  foo: {    bar: {      baz: 18,      fun: () => {},    },  },  school: {    students: [      {        name: "shanguagua",      },    ],  },  say() {    return "www.shanzhonglei.com";  },};console.log(obj?.foo?.bar?.baz); // 18console.log(obj?.school?.students?.[0]["name"]); // shanguaguaconsole.log(obj?.say?.()); // www.shanzhonglei.com

    四、?:三元运算符

    它也叫三目运算符。额,这个就很常用了。

    对于条件表达式b ? x : y,先计算条件 b,然后进行判断。如果 b 的值为 true,计算 x 的值,运算结果为 x 的值;否则,计算 y 的值,运算结果为 y 的值。

    console.log(false ? 1 : 2); // 2console.log(true ? 1 : 2); // 1

    五、逻辑与(&&)和逻辑或(||)

    先来复习一下吧:

    逻辑与(&&):当第一个操作数为 true 时,将不会判断第二个操作数,因为无论第二个操作数为何,最后的运算结果一定是 true。

    实际开发中,利用设个特性,可实现如下操作:

    如果某个值为 true,则运行某个 function

    function say() {  console.log("www.shanzhonglei.com");}let type = true;type && say(); // www.shanzhonglei.com

    判断某个值

    // 如果age大于10并且小于20才会执行if (age > 10 && age < 20) {  console.log(age);}

    逻辑或(||): 当第一个操作数为 false 时(也就是 js 的假值),将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是 false。

    实际开发中,利用设个特性,可实现如下操作:

    给某个变量设置初始值

    let student = {  name: "shanguagua",};console.log(student.age || "www.shanzhonglei.com"); // www.shanzhonglei.com

    判断某个值

    // 如果age等于10或者等于20或者等于30都执行if (age === 10 || age === 20 || age === 30) {  console.log(age);}

    六、位运算符 & 和 |

    位运算符是按位进行运算,&(与)、|(或),使用位运算符时会抛弃小数位,我们可以利用|0来给数字取整。也可以使用&1来判断奇偶数。

    实际开发中,利用设个特性,可实现如下操作:

    取整

    1.3 |  (0 - // 打印出 1    1.9) |  0; // 打印出 -1

    判断奇偶数

    let num = 5;!!(num & 1); // true!!(num % 2); // true

    七、双位运算符 ~~

    可以使用双位操作符来替代正数的 Math.floor( ),替代负数的 Math.ceil( )。

    双否定位操作符的优势在于它执行相同的操作运行速度更快,对正数来说~~运算结果与 Math.floor( ) 运算结果相同,而对于负数来说与 Math.ceil( ) 的运算结果相同。

    Math.floor(5.2) === 5; // true~~3.2 === 3; // trueMath.ceil(-6.6) === -6; // true~~-4.5 === -6; // true

    七、逻辑运算符 !

    !,可将变量转换成 boolean 类型,null、undefined 和空字符串''取反都为 true,其余都为 false。一般来说会有好几种用法,!,!!,!=,!==。

    7.1 利用!取反

    let cat = false;console.log(!cat); // true

    7.2 利用!!做类型判断

    判断变量 a 不等于 null,undefined 和''才能执行的方法。

    var a;if (a != null && typeof a != undefined && a != "") {  //a有内容才执行的代码}

    等价于:

    if (!!a) {  //a有内容才执行的代码...}

    7.3 两个值是否相等

    一般来说都是用的全不等于!==,因为使用不等于!=的话,0 != ""返回的是 false,原因是 JS 中 0 和''转化成布尔型都为 false,所以推荐还是使用全不等于!==。

    let a = 0;let b = 0;let c = "0";let d = '';a != b       //falsea != c      // false    number和string的0 被判断为相等a != d      // false    0和空字符串被判断为相等a !== b    // falsea !== c   // truea !== d   // true

    看完了这篇文章,相信你对“JavaScript中有哪些强大的运算符”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

    --结束END--

    本文标题: JavaScript中有哪些强大的运算符

    本文链接: https://lsjlt.com/news/305389.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • JavaScript中有哪些强大的运算符
      小编给大家分享一下JavaScript中有哪些强大的运算符,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、空值合并运算符如果你第一次遇到它,看到的是两个问号,估计脑海里还有更多的问号(小朋友,你是否有很多问号~~~)两个...
      99+
      2023-06-25
    • 一起盘点JavaScript中一些强大的运算符
      目录前言一、??空值合并运算符二、??=空赋值运算符三、?.可选链操作符四、?:三元运算符五、逻辑与(&&)和逻辑或(...
      99+
      2024-04-02
    • JavaScript运算符有哪些
      这篇文章将为大家详细讲解有关JavaScript运算符有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript运算符有六种,分别是:1、算术运算符,+、-、*等;2、等同全同运算符,“==...
      99+
      2023-06-15
    • javascript有哪些算数运算符
      这篇文章主要介绍“javascript有哪些算数运算符”,在日常操作中,相信很多人在javascript有哪些算数运算符问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
      99+
      2024-04-02
    • javascript算术运算符有哪些
      javascript中的算术运算符有:1.加法运算符,数值求和;2.减法运算符,两数相减;3.乘法运算符,乘积运算;4.除法运算符,计算两个数值的商;5.取余运算符,计算两个数值的模;6.递增运算符,数值加1;7.递减运算符,数值减1;8....
      99+
      2024-04-02
    • javascript中的逻辑运算符有哪些
      本篇内容主要讲解“javascript中的逻辑运算符有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript中的逻辑运算符有哪些”吧! ...
      99+
      2024-04-02
    • javascript中的三目运算符有哪些
      javascript中的三目运算符有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。javascript 三目运算符javascript中的三目运算符用作判断时,基本语法为:...
      99+
      2023-06-14
    • JavaScript中比较运算符有哪些
      JavaScript中的比较运算符有:1.大于号(>);2.小于号(<);3.大于等于(>=);4.小于等于(<=)JavaScript中的比较运算符有以下几种大于号(>)判断符号左侧的值是否大于右侧的值。re...
      99+
      2024-04-02
    • JavaScript中有哪些魔法运算符
      JavaScript中有哪些魔法运算符?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。javascript是一种什么语言javascript是一种动态类型、弱类型的语言,基于...
      99+
      2023-06-14
    • JavaScript中有哪些赋值运算符
      本篇文章给大家分享的是有关JavaScript中有哪些赋值运算符,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。JavaScript的特点1.JavaScript主要用来向HTM...
      99+
      2023-06-14
    • JavaScript中有哪些特殊的字符运算
      这篇文章主要介绍了JavaScript中有哪些特殊的字符运算,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.什么是 --> ?&nb...
      99+
      2024-04-02
    • javascript的赋值运算符有哪些
      这篇文章主要介绍“javascript的赋值运算符有哪些”,在日常操作中,相信很多人在javascript的赋值运算符有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ja...
      99+
      2024-04-02
    • JavaScript有哪些常见的运算符
      小编给大家分享一下JavaScript有哪些常见的运算符,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript常见运...
      99+
      2024-04-02
    • javascript的逻辑运算符有哪些
      本篇内容介绍了“javascript的逻辑运算符有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
      99+
      2024-04-02
    • JavaScript的按位运算符有哪些
      本篇内容主要讲解“JavaScript的按位运算符有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript的按位运算符有哪些”吧!JavaScr...
      99+
      2024-04-02
    • JavaScript运算符种类有哪些
      这篇文章主要介绍了JavaScript运算符种类有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。运算符运算符种类:算数运算符、复合运算符...
      99+
      2024-04-02
    • javascript赋值运算符有哪些
      javascript中的赋值运算符有:1.等号赋值运算符(=);2.加等赋值运算符(+=);3.减等赋值运算符(-=);4.乘等赋值运算符(*=);5.除等赋值运算符(/=);6.模等赋值运算符(%=);javascript中的赋值运算符有...
      99+
      2024-04-02
    • javascript关系运算符有哪些
      javascript中的关系运算符有:1.大于号(>);2.小于号(=);4.小于等于()判断符号左侧的值是否大于右侧的值。result = 5 > 4; //返回true小于号(=)判断符号左侧的值是否大于或等于右侧的值。result =...
      99+
      2024-04-02
    • javascript特殊运算符有哪些
      javascript中的特殊运算符有:1.逗号运算符;2.in运算符;3.instanceof运算符;4.typeof运算符;5.delete运算符;6.void运算符;javascript中的特殊运算符有以下几种逗号运算符javascri...
      99+
      2024-04-02
    • javascript中的运算符有哪些及怎么用
      今天小编给大家分享一下javascript中的运算符有哪些及怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作