在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标准的不断更新,可能会有新的运算符被引入