ES6 操作符
表达式是一种特殊的语句,它可以评估一个值。每个表达都是由 -
- 操作数 - 表示数据。
- 运算符 - 定义操作数如何处理以产生值。
考虑以下表达式-2 + 3.在表达式中,2和3是操作数,符号+(加号)是运算符。JavaScript支持以下类型的运算符 -
算术运算符
假设变量a和b中的值分别为10和5。
var num1 = 10 var num2 = 2 var res = 0 res = num1+num2 console.log("Sum: "+res); res = num1-num2; console.log("Difference: "+res) res = num1*num2 console.log("Product: "+res) res = num1/num2 console.log("Quotient: "+res) res = num1%num2 console.log("Remainder: "+res) num1++ console.log("Value of num1 after increment "+num1) num2-- console.log("Value of num2 after decrement "+num2)
在成功执行上述程序时显示以下输出。
Sum: 12 Difference: 8 Product: 20 Quotient : 5 Remainder: 0 Value of num1 after increment: 11 Value of num2 after decrement: 1
操作符 | 描述 | 实例 |
---|---|---|
+ | 加
返回操作数的总和。 |
a + b is 15 |
- | 减法
返回值的差异。 |
a-b is 5 |
* | 乘法
返回值的乘积。 |
a*b is 50 |
/ | 除法
执行除法操作并返回商。 |
a/b is 2 |
% | 取余
执行除法并返回余数。 |
a%b is 0 |
++ | 自增
将变量的值加1。 |
a++ is 11 |
-- | 自减
将变量的值减1。 |
a-- is 9 |
关系运算符
关系运算符测试或定义两个实体之间的关系类型。关系运算符返回一个布尔值,即true / false。
假设A的值是10,B是20。
var num1 = 5; var num2 = 9; console.log("Value of num1: " + num1); console.log("Value of num2: " + num2); var res = num1 > num2; console.log("num1 greater than num2: " + res); res = num1 < num2; console.log("num1 lesser than num2: " + res); res = num1 >= num2; console.log("num1 greater than or equal to num2: " + res); res = num1 <= num2; console.log("num1 lesser than or equal to num2: " + res); res = num1 == num2; console.log("num1 is equal to num2: " + res); res = num1 != num2; console.log("num1 not equal to num2: " + res);
在成功执行上述程序时显示以下输出。
Value of num1: 5 Value of num2 :9 num1 greater than num2: false num1 lesser than num2: true num1 greater than or equal to num2: false num1 lesser than or equal to num2: true 14 num1 is equal to num2: false 16 num1 not equal to num2: true
操作符 | 描述 | 实例 |
---|---|---|
> | 大于 | (A > B) is False |
< | 小于 | (A < B) is True |
>= | 大于等于 | (A >= B) is False |
<= | 小于等于 | (A <= B) is True |
== | 等于 | (A == B) is False |
!= | 不等于 | (A!= B) is True |
逻辑运算符
逻辑运算符用于组合两个或更多条件。逻辑运算符也会返回一个布尔值。
假设变量A的值是10,B是20。
var avg = 20; var percentage = 90; console.log("Value of avg: " + avg + " ,value of percentage: " + percentage); var res = ((avg > 50) && (percentage > 80)); console.log("(avg>50)&&(percentage>80): ", res); var res = ((avg > 50) || (percentage > 80)); console.log("(avg>50)||(percentage>l80): ", res); var res = !((avg > 50) && (percentage > 80)); console.log("!((avg>50)&&(percentage>80)): ", res);
在成功执行上述程序时显示以下输出。
Value of avg: 20 ,value of percentage: 90 (avg>50)&&(percentage>80): false (avg>50)||(percentage>80): true !((avg>50)&&(percentage>80)): true
短路操作符
&&和||运算符用于组合表达式。仅当两个条件都返回true时,&&运算符才会返回true。让我们考虑一个表达式 -
var a = 10 var result = ( a<10 && a>5)
在上面的例子中,a<10 和 a> 5是由&&运算符组合的两个表达式。在这里,第一个表达式返回false。但是,&&运算符要求这两个表达式都返回true。所以,操作员跳过第二个表达式。
||如果其中一个表达式返回true,则返回true。例如
var a = 10 var result = ( a>5 || a<10)
在上面的代码片段中,两个表达式a> 5和a <10由一个||组合运营商。在这里,第一个表达式返回true。因为,第一个表达式返回true,||运算符跳过后面的表达式并返回true。
由于&&和||的这种行为他们被称为短路操作符。
操作符 | 描述 | 实例 |
---|---|---|
&& | 与
只有当指定的所有表达式返回true时,运算符才返回true。 |
(A > 10 && B > 10) is False |
|| | 或
如果至少有一个指定的表达式返回true,则该运算符返回true。 |
(A > 10 || B > 10) is True |
! | 非
该运算符返回表达式结果的反转。例如:!(7> 5)返回false。 |
!(A > 10) is True |
按位运算符
JavaScript支持以下按位运算符。下表总结了JavaScript的按位运算符。
var a = 2; // Bit presentation 10 var b = 3; // Bit presentation 11 var result; result = (a & b); console.log("(a & b) => ", result); result = (a | b); console.log("(a | b) => ", result); result = (a ^ b); console.log("(a ^ b) => ", result); result = (~b); console.log("(~b) => ", result); result = (a << b); console.log("(a << b) => ", result); result = (a >> b); console.log("(a >> b) => ", result);
在成功执行上述程序时显示以下输出。
(a & b) => 2 (a | b) => 3 (a ^ b) => 1 (~b) => -4 (a << b) => 16 (a >> b) => 0
操作符 | 使用 | 描述 |
---|---|---|
位与 | a & b | 返回两个操作数的相应位为1的每个位的位置 |
位或 | a | b | 返回每个位的位置,其中一个或两个操作数的相应位为1 |
位亦或 | a^b | 在每个位的位置返回一个,但不是两个操作数的相应位都是1 |
位取反 | ~ a | 反转其操作数的位 |
左移位 | a << b | 将b的二进制表示b(<32)位左移,右移0位 |
右移位 | a >> b | 将b的二进制表示b(<32)位向右移位,丢弃关闭的位 |
0填充右移位 | a >>> b | 将二进制表示b(<32)位向右移位,丢弃移位的位,并从左移零 |
赋值运算符
下表总结了赋值运算符。
var a = 12; var b = 10; a = b; console.log("a = b: " + a); a += b; console.log("a+=b: " + a); a -= b; console.log("a-=b: " + a); a *= b; console.log("a*=b: " + a); a /= b; console.log("a/=b: " + a); a %= b; console.log("a%=b: " + a);
在成功执行上述程序时显示以下输出。
a=b: 10 a+=b: 20 a-=b: 10 a*=b: 100 a/=b: 10 a%=b: 0
Sr.No | 操作符 & 描述 |
---|---|
1 |
= (简单赋值) 将右侧操作数的值赋给左侧操作数。 实例 − C = A + B将把A + B的值赋给C |
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 - 如果条件为false,则返回值
实例
var num = -2 var result = num > 0 ?"positive":"non-positive" console.log(result)
第2行检查变量num中的值是否大于零。如果num设置为大于零的值,则返回字符串“positive”,否则返回“非正值”字符串。
在成功执行上述程序时显示以下输出。
non-positive
类型操作符
typeof 操作符
它是一个一元运算符。该运算符返回操作数的数据类型。下表列出了JavaScript中typeof运算符返回的数据类型和值。
类型 | 由typeof返回的类型 |
---|---|
Number | "number" |
String | "string" |
Boolean | "boolean" |
Object | "object" |
以下示例代码将该数字显示为输出。
var num = 12 console.log(typeof num); //output: number
在成功执行上述代码时,会显示以下输出。
number
有条件/决策构造在执行指令之前对条件进行评估。下表中列出了JavaScript中的条件结构。序号语句 & 描述1if 语句'if'语句由一个布尔表达式和一个或多个语句组成。 .2if…else 语句'if ...