JavaScript中有哪些强大的运算符

技术JavaScript中有哪些强大的运算符小编给大家分享一下JavaScript中有哪些强大的运算符,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、??空值合并运算符如果你第一次遇到它,看到的是两个

边肖将和大家分享一些JavaScript中强大的操作符。希望大家看完这篇文章后有所收获。我们一起讨论一下吧!

00-1010如果是第一次遇到,会看到两个问号。估计你脑子里的问号会更多(你的问号多吗~ ~ ~)?

两个问号?它被称为空值组合运算符。如果第一个参数不是null/undefined,则返回第一个参数;否则,它将返回第二个参数。

console.log(1?www . shanzhzonglei.com ');//1

console.log(false?www . shanzhzonglei.com ');//false

console.log(null?www . shanzhzonglei.com ');//www . shanzzhsonglei.com

console.log(未定义?www . shanzhzonglei.com ');//////www . shanzzhsonglei.com因此,只有当第一个参数为null/undefined时,才会返回第二个参数。

请注意,尽管未定义,JS中的空对象null、数值0、空数字NaN、布尔值false和空字符串“”都是false值,非null运算符只处理null/undefined。

与逻辑或运算符(||)不同,当左操作数为假时,逻辑或运算符返回右操作数。例如,当它是假值('或0)时。

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

console . log(“| | 2”);//2

一、??空值合并运算符

哦,现在不仅有两个问号,还有一个等号。问题是不是越来越难了?

?=null赋值运算符,仅当值为null或未定义时才赋值。

const student={ age :20 };

学生年龄?=18;

console.log(学生.年龄);//20

学生姓名?=' shanguaguagua ';

console . log(student . name);///《山瓜瓜》它和上面的一样吗?空值组合运算符相关:x?=y相当于x?(x=y),只有当x为null或未定义时,才会执行x=y。

letx=null

x?=20;

console . log(x);//20

lety=5;

你呢。=10;

console . log(y);//5

二、??=空赋值运算符

可选连锁运营商?允许读取位于连接对象链深处的属性值,而无需显式验证链中的每个引用是否有效。运算符隐式检查对象的属性是null还是undefined,这使得代码更加优雅简洁。

const obj={ 0

名为:‘山呱呱’,

foo:{

bar:{

baz:18,

fun:()={},

},

},

学校:{

学生[

{

(=NationalBureauofStandards)国家标准局

p;     name: "shanguagua",
      },
    ],
  },
  say() {
    return "www.shanzhonglei.com";
  },
};
console.log(obj?.foo?.bar?.baz); // 18
console.log(obj?.school?.students?.[0]["name"]); // shanguagua
console.log(obj?.say?.()); // www.shanzhonglei.com

四、?:三元运算符

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

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

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

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

先来复习一下吧:

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

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

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

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

2、判断某个值

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

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

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

1、给某个变量设置初始值

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

2、判断某个值

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

六、位运算符 & 和 |

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

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

1、取整

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

2、判断奇偶数

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; // true
Math.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       //false
a != c      // false    number和string的0 被判断为相等
a != d      // false    0和空字符串被判断为相等
a !== b    // false
a !== c   // true
a !== d   // true

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

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/88241.html

(0)

相关推荐

  • html中ul和ol哪个是有序(html中ulli表示什么意思)

    技术html中dl与ul的区别有哪些本篇内容主要讲解“html中dl与ul的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html中dl与ul的区别有哪些”吧!

    攻略 2021年12月23日
  • 0元刷抖音粉,刷抖音粉丝的好处有哪些?

    技术0元刷抖音粉,刷抖音粉丝的好处有哪些?抖音粉丝数量少怎么办?如何刷抖音粉丝呢?很多玩抖音的小伙伴都有刷粉丝的需求,那么今天小编就来教大家如何快速刷抖音粉丝吧,其实也不难,只要用心学肯定能学会。
    迫不及待想涨粉的现在可

    测评 2021年10月19日
  • HBASE表如何迁移

    技术HBASE表如何迁移这篇文章主要介绍了HBASE表如何迁移,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。以下方法可以实现重命名,以及不同namespa

    攻略 2021年12月8日
  • 夜晚的英语,晚上的单词用英语怎么说

    技术夜晚的英语,晚上的单词用英语怎么说英文:night 读法2113:英 [naɪt] 美 [naɪt] 释义:n.夜;夜晚5261;晚上夜晚的英语,夜晚(夜里就寝前的一段时间4102) 短语1653: 1、waste

    生活 2021年10月26日
  • 夜路,晚上走夜路150字作文

    技术夜路,晚上走夜路150字作文第一次走夜路_150字在记忆的大海中,一朵朵浪花拍打着海岸,又消失了夜路。可是,只有一朵浪花拍打着海岸,退去再打上海岸,再打上海岸,不断的从我的脑海重现那个第一次走夜路。记得在一个黑夜,我

    生活 2021年10月29日
  • 面部不对称,人的脸不对称是怎么回事,

    技术面部不对称,人的脸不对称是怎么回事,颜面不对称是每个人都有的现象面部不对称,但是用肉眼看得出来的话不对称的程度就比较严重了。一般本人或他人的颜面不对称用肉眼是看不出来的,而且一般都是以每个人的脸是对称的成见看的,所以

    生活 2021年10月25日