在JavaScript中,常见的运算符可以分为以下几类:
- 
算术运算符: - +:加法
- -:减法
- *:乘法
- /:除法
- %:取余(模运算)
- ++:递增
- --:递减
- **:幂运算(ES2016+)
 
- 
比较运算符: - ==:等于(类型转换后比较)
- ===:严格等于(值和类型都相同)
- !=:不等于(类型转换后比较)
- !==:严格不等于(值和类型都不同)
- >:大于
- <:小于
- >=:大于或等于
- <=:小于或等于
- in:检查对象是否包含某个属性
- instanceof:检查对象是否是某个构造函数的实例
 
- 
赋值运算符: - =:赋值
- +=、- -=、- *=、- /=、- %=:复合赋值运算符(先进行算术运算,然后赋值)
- <<=、- >>=、- >>>=:位运算符的复合赋值形式(先进行位运算,然后赋值)
- &=、- ^=、- |=:逻辑运算符的复合赋值形式(先进行逻辑运算,然后赋值)
 
- 
位运算符: - &:按位与
- |:按位或
- ^:按位异或
- ~:按位非
- <<:左移
- >>:有符号右移
- >>>:无符号右移
 
- 
逻辑运算符: - &&:逻辑与
- ||:逻辑或
- !:逻辑非
 
- 
字符串运算符: - +:当其中一个操作数是字符串时,它会被用作字符串连接符
 
- 
条件(三元)运算符: - ? ::条件运算符(也称为三元运算符),例如- condition ? value_if_true : value_if_false
 
- 
类型运算符: - typeof:返回表示未计算变量类型的字符串
- instanceof:检测构造函数的- prototype属性是否出现在对象的原型链中的任何位置
 
- 
指数运算符(ES2016+): - **:指数运算符,例如- 2 ** 3等于 8
 
- 
展开运算符(ES2015+): - ...:用于函数调用、数组字面量、对象字面量等,例如- func(...array)、- [...array]、- {...object}
 
- 
空值合并运算符(ES2020+): - ??:当左侧的操作数为- null或- undefined时,返回其右侧的操作数;否则返回左侧的操作数。
 
这些是JavaScript中常见的运算符,但请注意,随着ECMAScript标准的不断更新,可能会有新的运算符被引入