一、运算符
包含 JavaScript 所有运算符及其详细使用说明。
1、一元运算符
只对一个操作数进行调整。
| 符号 | 含义 | 详情 |
|---|
| delete | 用于删除对象属性,成功返回true,失败返回false | 查看 |
| void | 可以把语句变成表达式 | 查看 |
| typeof | 返回操作数的类型字符串 | 查看 |
| + + | 自增 | 查看 |
| - - | 自减 | 查看 |
| + | 1、转换为数字;2、加法;3、连接字符串 | 查看 |
| - | 1、转换成数字;2、减法 | 查看 |
| ~ | 按位进行非操作,反转其操作数的位 | 查看 |
| ! | 逻辑非,对操作数进行否定操作 | 查看 |
| !! | 逻辑双非,强制转换操作数为bool类型 | 查看 |
| / | 除法 | 查看 |
| * | 乘法 | 查看 |
| % | 取模 | 查看 |
| ** | 求幂 | 查看 |
2、关系运算符
比较二个操作数并返回比较结果。
| 符号 | 含义 | 详解 |
|---|
| in | 判断对象是否含有某个属性(包括原型链中的属性),存在就返回true。 | 查看 |
| instanceof | 判断对象及其原型链上是否存在某个类型,存在就返回true。 | 查看 |
| < | 小于 | 查看 |
| 大于 | 查看 |
| <= | 小于等于 | 查看 |
| >= | 大于等于 | 查看 |
| == | 检查其两个操作数是否相等,返回布尔结果 | 查看 |
| != | 检查其两个操作数是否不相等,返回布尔结果 | 查看 |
| === | 检查其两个操作数是否相等(包括类型),返回布尔结果 | 查看 |
| !== | 检查其两个操作数是否不相等(包括类型),返回布尔结果 | 查看 |
3、位移运算符
在二进制的基础上对数字进行移动操作。
| 符号 | 含义 | 详解 |
|---|
| << | 按位向左补零移动指定位数,符号位不变 | 查看 |
| >> | 按位向右补零移动指定位数,符号位不变 | 查看 |
| >>> | 按位向右补零移动指定位数,符号位变为 0 | 查看 |
4、位运算符
| 符号 | 含义 | 详解 |
|---|
| & | 按位与操作(两个都为1,才返回1) | 查看 |
| | | 按位或操作(有一个为1,就返回1) | 查看 |
| 按位异或操作(相同为1,不同为0) | 查看 |
5、逻辑运算符
| 符号 | 含义 | 详解 |
|---|
| && | 所有操作数都为true时,才返回true | 查看 |
| || | 只要有一个操作数为true,就返回ture | 查看 |
| ?? | 当左侧操作数为 null 或者 undefined 时,返回右侧操作数,否则返回左侧操作数 | 查看 |
| ?: | 根据条件选择结果 | 查看 |
| ?. | 确保访问深层属性不会有异常 | 查看 |
6、赋值运算符
| 符号 | 含义 | 详解 |
|---|
| = | 用于变量赋值 | 查看 |
| *= | 乘法赋值 | 查看 |
| **= | 求幂赋值 | 查看 |
| /= | 除法赋值 | 查看 |
| %= | 取模赋值 | 查看 |
| += | 1、加法赋值;2、连接字符串 | 查看 |
| -= | 减法赋值 | 查看 |
| <<= | 按位左移指定位数后进行赋值 | 查看 |
| >>= | 按位右移指定位数后进行赋值 | 查看 |
| >>>= | 无符号位,按位右移指定位数后进行赋值 | 查看 |
| &= | 按位与操作后赋值(都为1,才返回1) | 查看 |
| ^= | 按位异或操作后赋值(不同为1,相同为0) | 查看 |
| |= | 按位或操作后赋值(有一个为1,即为1) | 查看 |
| &&= | 逻辑与 赋值,仅在左边操作数为true时,进行赋值 | 查看 |
| ||= | 逻辑或 赋值,仅在左边操作数为false时,进行赋值 | 查看 |
| ??= | 无效赋值,仅在左边操作数为空(null或undefined)时,进行赋值 | 查看 |
| []=[] | 解构赋值,从阵列解构为变量 | 查看 |
7、逗号运算符
| 符号 | 含义 | 详解 |
|---|
| , | 逗号运算符,从左到右计算表达式,并返回最后一个值 | 查看 |
二、参考文档