ES 6 运算符
优质
小牛编辑
137浏览
2023-12-01
表达式是一种特殊的语句,其计算结果为值。每个表达式都由以下两部分组成
- Operands(操作数):表示数据
- Operator(运算符):定义如何处理操作数以生成值
javascript支持以下类型的运算符
算术运算符
假设变量A和B中的值分别为10和5。
运算符 | 描述 | 例 |
---|---|---|
+ | 加法返回操作数的和。 | A+B是15 |
- | 减法返回值的差异。 | A-B是5 |
* | 乘法返回值的乘积。 | A*B是50 |
/ | 除法执行除法运算并返回商。 | A/B是2 |
% | 模数执行除法并返回剩余部分。 | A%B为0 |
++ | 增量将变量的值递增一个。 | A++是11 |
-- | 减量将变量的值减少一个。 | A--是9 |
关系运算符
关系运算符测试或定义两个实体之间的关系类型。关系运算符返回布尔值,即true/false。
假设A的值是10,B是20。
运算符 | 描述 | 例 |
---|---|---|
> | 大于 | (A>B)是虚假的 |
< | 小于 | (A<B)是真的 |
>= | 大于或等于 | (A>=B)是假的 |
<= | 小于或等于 | (A<=B)为真 |
== | 等于 | (A==B)是假的 |
!= | 不等于 | (A!=B)是真的 |
逻辑运算符
逻辑运算符用于组合两个或多个条件。逻辑运算符也返回布尔值。假设变量a的值为10,b的值为20。
运算符 | 运算符 | 例 |
---|---|---|
&& | 只有当所有指定的表达式返回true时,运算符才返回true。 | (A>10&&B>10)是假的 |
|| | 如果指定的表达式中至少有一个返回true,则运算符返回true。 | (A > 10 || B > 10)为真 |
! | 运算符返回表达式结果的逆值。例如:!(7>5)返回false。 | !(A > 10)是真的 |
位运算符
javascript支持以下按位运算符,下表总结了javascript的位运算符
运算符 | 用法 | 描述 |
---|---|---|
按位与 | A&B | 在两个操作数的对应位数为1的每个位置返回一个 |
按位或 | a|b | 在每个位置返回一个,其中一个或两个操作数的对应位是一个。 |
按位异或 | a^b | 在每个位置返回一个,其中任一操作数的对应位数,但不是两个操作数的对应位。 |
按位取反 | ~a | 反转其操作数的位。 |
左移 | a << b | 将a在二进制表示b(<32)位向左移动,以零从右移动 |
右移 | a >> b | 将a在二进制表示中向右移动b(<32)位,丢弃移位的位 |
零填充右移位 | a >>> b | 向右移动a in二进制表示b(<32)位,丢弃移出的位,左移零。 |
赋值运算符
下表总结了赋值运算符
操作与描述 | |
---|---|
1 | =(简单分配) 将右侧操作数的值赋给左侧操作数。 |
2 | +=(添加和赋值) 将右操作数添加到左操作数,并将结果赋值到左操作数。 示例:−c+=a等于c=c+a |
3 | -=(减法和赋值) 从左操作数中减去右操作数,并将结果赋给左操作数。 示例:c-=a等于c=c-a |
4 | *=(乘法和赋值) 将右操作数与左操作数相乘,并将结果赋给左操作数。 示例:c*=a等于c=c*a |
5 | /=(除法和赋值) 将左操作数与右操作数相除,并将结果赋给左操作数。 |
注:相同的逻辑适用于位运算符,因此它们将变为<<=、>>=、>>=、&=、=和^=。
其他运算符
一元减法运算符(-):更改值的符号
var x = 4 var y = -x; console.log("value of x: ",x); //outputs 4 console.log("value of y: ",y); //outputs -4
输出结果为:
value of x: 4 value of y: -4
字符串运算符:串联运算符(+)
当应用于字符串时,+运算符将第二个字符串附加到第一个字符串
var msg = "hello"+"world"; console.log(msg);
输出结果为:
helloworld
串联操作不会在字符串之间添加空格,可以在单个语句中连接多个字符串。
条件运算符(?)
此运算符用于表示条件表达式。条件运算符有时也称为三元运算符。
Test ? expr1 : expr2
- test:指条件表达式
- expr1:条件为真时返回的值
- expr2:如果条件为假,则返回的值
var num = -2 var result = num > 0 ?"positive":"non-positive"; console.log(result);
第2行检查变量num中的值是否大于零。如果将num设置为大于零的值,则返回字符串“positive”否则返回字符串“non-positive
”字符串。
输出结果为:
non-positive
类型运算符
它是一元运算符,此运算符返回操作数的数据类型。下表列出了javascript中typeof运算符返回的数据类型和值。
类型 | 类型返回的字符串 |
---|---|
Number | "number" |
String | "string" |
Boolean | "boolean" |
Object | "object" |
下面的示例代码将数字显示为输出
var num = 12 console.log(typeof num); //output: number
输出结果为:
number