运算符是用于实现赋值、比较和执行算数运算等功能的符号。
本文概括了常用运算符分类,分类如下:
算数运算符
运算符 |
描述 | 案例 |
+ | 加 | 10+10=20 |
- | 减 | 10-10=0 |
* | 乘 | 10*10=100 |
/ | 除 | 10/10=1 |
% | 取模(取余数) | 9%2=1 |
tip:浮点数的精度问题
console.log(0.1 + 0.2); // 0.30000000000000004 console.log(0.07 * 100); // 7.000000000000001
浮点数值的最高精度是 17 位小数,但是在进行算数运算时其精确度远远不如整数,所以不要
直接判断两个浮点数是否相等!
递增和递减运算符
自增和自减运算符必须配合变量使用。
自增运算符:
let num = 10; console.log(++num); // 11 ++在前,先自加,后返回值 let num1 = 10; console.log(num1++); // 10 ++在后,先返回原值,后自加
自减运算符:
let num = 10; console.log(--num); // 9 --在前,先自减,后返回值 let num1 = 10; console.log(num1--); // 10 --在后,先返回原值,后自减
比较运算符
运算符 | 描述 | 案例 | 结果 |
< | 小于号 | 1<2 | true |
> | 大于号 | 1>2 | false |
>= | 大于等于号(大于或等于) | 2>=2 | true |
<= | 小于等于号(小于或等于) | 3<=2 | false |
== | 判等号(会隐式转换) | 15=='15' | true |
!= | 不等号 | 37 !=37 | false |
=== | 全等(要求值和数据类型都一致) | 37 === '37' | false |
!== | 全不等(要求值和数据类型都一致) | 37 !== '37' | true |
逻辑运算符
逻辑运算符是用来进行布尔值运算的运算符
运算符 | 描述 | 案例 | 特点 |
&& | 逻辑与,简称 与 and | true && false 为 false | 两边都是true才返回true |
|| | 逻辑或,简称 或 or | true || false 为 true | 有一边为true就返回true |
! | 逻辑非,简称 非 not | ! true 为 false | 取反 |
赋值运算符
运算符 | 描述 | 案例 |
= | 赋值运算符,直接赋值 |
let name = ‘张三’; |
+= -= | 加或减一个数后再赋值 |
let age = 10; age += 5; |
*= /= %= | 乘、除、取模后再赋值 |
let age = 5; age *= 5; |
运算符优先级(大致分类)
优先级 | 运算符 | 顺序 |
1 | 小括号、数组下标、字段访问 |
() [] . |
2 | 一元运算符 |
! ++ -- |
3 | 算数运算符 |
先 * / % 后 + - |
4 | 关系运算符 |
> >= < <= |
5 | 相等运算符 |
== != === !== |
6 | 逻辑运算符 |
先 && 后 || |
7 | 赋值运算符 |
= |