运算符

172 阅读1分钟

赋值运算符

介绍:对变量进行赋值的运算符

语法:+= 、-= 、*= 、 /= 、%= 、 =

==let num = 1==等价于结果
num += 2num = num + 2num = 3
num -= 2num = num - 2num = -1
num *= 2num = num * 2num = 2
num /= 2num = num / 2num = 0.5
num %= 2num = num % 2num = 1
num = 2赋值num = 2

一元运算符

语法:变量++、 变量-- 、!

使用场景:经常用于计数来使用

let num = 1
num++
console.log(num)  // 2

自增和自减:

前置自增:先自增后运算

后置自增:先运算后自增

注意:前置自增和后置自增单独使用没有区别

二元运算符

介绍:由两个元素 形成第三个元素 的一种规则运算

let num = 20 + 30

三元运算符

语法:条件 ? 满足条件执行的代码 :不满足条件执行的代码

使用场景:数字补零

let i = 5
i = i < 10 ? '0' + i : i   // 05 
i 的值如果小于10,那么就在 i 的前面补零

比较运算符

使用场景:比较两个数据大小、是否相等

运算符说明
>左边是否大于右边
<左边是否小于右边
>=左边是否大于或等于右边
<=左边是否小于或等于右边
==左右两边值是否相等
===左右两边是否类型和值都相等
!==左右两边是否不全等

注意:

  • NaN不等于任何值,包括它本身

  • 涉及到"NaN“ 都是false

  • 尽量不要比较小数,因为小数有精度问题

  • 比较结果为boolean类型,即只会得到 true 或 false

  • 不同类型之间比较会发生隐式转换,会把其他类型的转换为number型

逻辑运算符

符号名称日常读法特点口诀
&&逻辑与并且符号两边都为true,结果才为true一假则假
||逻辑或或者符号好两边有一个为true就为true一真则真
逻辑非取反true变false,false变true真变假,假变真
	console.log(true && true) // true
    console.log(false && true) // false
    console.log(3<5 && 3>2) // true
    console.log(3<5 && 3<2) // false
    -----------------------------------
    console.log(true || true) //true
    console.log(false || true) //true
    console.log(false || false) //false
    ----------------------------------
    console.log(!true) //false
    console.lgo(!false) //true

逻辑中断

介绍:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行(短路)

使用场景:变量赋值

符号短路条件
&&左边为false短路
||左边为true短路

展开运算符

介绍:展开运算符可以展开数组

使用场景:求最大值,合并数组

语法:...arr

const arr = [0,1,2]
console.log(...arr)  //0 1 2 

注意:不会修改原数组

运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++ -- !
3算术运算符 / % 后 + -*
4关系运算符> >= < <=
5相等运算符== != === 不全等
6逻辑运算符先&& 后 ||
7赋值运算符=
8逗号运算符

注意:

  • 逻辑非优先级很高

  • 逻辑与 比 逻辑 优先级