📜  JavaScript-运算符

📅  最后修改于: 2020-12-18 04:55:44             🧑  作者: Mango


什么是运算符?

让我们用一个简单的表达式4 + 5等于9 。这里4和5称为操作数,而’+’称为运算符。 JavaScript支持以下类型的运算符。

  • 算术运算符
  • 比较运算符
  • 逻辑(或关系)运算符
  • 赋值运算符
  • 条件(或三元)运算符

让我们一一看一下所有运算符。

算术运算符

JavaScript支持以下算术运算运算符-

假设变量A持有10,变量B持有20,则-

Sr.No. Operator & Description
1

+ (Addition)

Adds two operands

Ex: A + B will give 30

2

– (Subtraction)

Subtracts the second operand from the first

Ex: A – B will give -10

3

* (Multiplication)

Multiply both operands

Ex: A * B will give 200

4

/ (Division)

Divide the numerator by the denominator

Ex: B / A will give 2

5

% (Modulus)

Outputs the remainder of an integer division

Ex: B % A will give 0

6

++ (Increment)

Increases an integer value by one

Ex: A++ will give 11

7

— (Decrement)

Decreases an integer value by one

Ex: A– will give 9

注意-加法运算符(+)适用于数字和字符串。例如,“ a” + 10将得到“ a10”。

以下代码显示了如何在JavaScript中使用算术运算运算符。


      
      Set the variables to different values and then try...
   

输出

a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8
Set the variables to different values and then try...

比较运算符

JavaScript的支持以下运算符-

假设变量A持有10,变量B持有20,则-

Sr.No. Operator & Description
1

= = (Equal)

Checks if the value of two operands are equal or not, if yes, then the condition becomes true.

Ex: (A == B) is not true.

2

!= (Not Equal)

Checks if the value of two operands are equal or not, if the values are not equal, then the condition becomes true.

Ex: (A != B) is true.

3

> (Greater than)

Checks if the value of the left operand is greater than the value of the right operand, if yes, then the condition becomes true.

Ex: (A > B) is not true.

4

< (Less than)

Checks if the value of the left operand is less than the value of the right operand, if yes, then the condition becomes true.

Ex: (A < B) is true.

5

>= (Greater than or Equal to)

Checks if the value of the left operand is greater than or equal to the value of the right operand, if yes, then the condition becomes true.

Ex: (A >= B) is not true.

6

<= (Less than or Equal to)

Checks if the value of the left operand is less than or equal to the value of the right operand, if yes, then the condition becomes true.

Ex: (A <= B) is true.

下面的代码演示了如何使用运算符在JavaScript中。

      
      Set the variables to different values and different operators and then try...
   

输出

(a == b) => false 
(a < b) => true 
(a > b) => false 
(a != b) => true 
(a >= b) => false 
a <= b) => true
Set the variables to different values and different operators and then try...

逻辑运算符

JavaScript支持以下逻辑运算符-

假设变量A持有10,变量B持有20,则-

Sr.No. Operator & Description
1

&& (Logical AND)

If both the operands are non-zero, then the condition becomes true.

Ex: (A && B) is true.

2

|| (Logical OR)

If any of the two operands are non-zero, then the condition becomes true.

Ex: (A || B) is true.

3

! (Logical NOT)

Reverses the logical state of its operand. If a condition is true, then the Logical NOT operator will make it false.

Ex: ! (A && B) is false.

尝试以下代码,以了解如何在JavaScript中实现逻辑运算符。

      
      

Set the variables to different values and different operators and then try...

输出

(a && b) => false 
(a || b) => true 
!(a && b) => true
Set the variables to different values and different operators and then try...

按位运算符

JavaScript支持以下按位运算运算符-

假设变量A持有2,变量B持有3,则-

Sr.No. Operator & Description
1

& (Bitwise AND)

It performs a Boolean AND operation on each bit of its integer arguments.

Ex: (A & B) is 2.

2

| (BitWise OR)

It performs a Boolean OR operation on each bit of its integer arguments.

Ex: (A | B) is 3.

3

^ (Bitwise XOR)

It performs a Boolean exclusive OR operation on each bit of its integer arguments. Exclusive OR means that either operand one is true or operand two is true, but not both.

Ex: (A ^ B) is 1.

4

~ (Bitwise Not)

It is a unary operator and operates by reversing all the bits in the operand.

Ex: (~B) is -4.

5

<< (Left Shift)

It moves all the bits in its first operand to the left by the number of places specified in the second operand. New bits are filled with zeros. Shifting a value left by one position is equivalent to multiplying it by 2, shifting two positions is equivalent to multiplying by 4, and so on.

Ex: (A << 1) is 4.

6

>> (Right Shift)

Binary Right Shift Operator. The left operand’s value is moved right by the number of bits specified by the right operand.

Ex: (A >> 1) is 1.

7

>>> (Right shift with Zero)

This operator is just like the >> operator, except that the bits shifted in on the left are always zero.

Ex: (A >>> 1) is 1.

尝试以下代码在JavaScript中实现按位运算符。

      
      

Set the variables to different values and different operators and then try...

(a & b) => 2 
(a | b) => 3 
(a ^ b) => 1 
(~b) => -4 
(a << b) => 16 
(a >> b) => 0
Set the variables to different values and different operators and then try...

赋值运算符

JavaScript支持以下赋值运算符-

Sr.No. Operator & Description
1

= (Simple Assignment )

Assigns values from the right side operand to the left side operand

Ex: C = A + B will assign the value of A + B into C

2

+= (Add and Assignment)

It adds the right operand to the left operand and assigns the result to the left operand.

Ex: C += A is equivalent to C = C + A

3

−= (Subtract and Assignment)

It subtracts the right operand from the left operand and assigns the result to the left operand.

Ex: C -= A is equivalent to C = C – A

4

*= (Multiply and Assignment)

It multiplies the right operand with the left operand and assigns the result to the left operand.

Ex: C *= A is equivalent to C = C * A

5

/= (Divide and Assignment)

It divides the left operand with the right operand and assigns the result to the left operand.

Ex: C /= A is equivalent to C = C / A

6

%= (Modules and Assignment)

It takes modulus using two operands and assigns the result to the left operand.

Ex: C %= A is equivalent to C = C % A

–相同的逻辑适用于按位运算符,因此它们将变得像<< =,>> =,>> =,&=,| =和^ =。

尝试以下代码在JavaScript中实现赋值运算符。

      
      

Set the variables to different values and different operators and then try...

输出

Value of a => (a = b) => 10
Value of a => (a += b) => 20 
Value of a => (a -= b) => 10 
Value of a => (a *= b) => 100 
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0
Set the variables to different values and different operators and then try...

杂项运算符

我们将在这里讨论两家运算符是在JavaScript中非常有用:条件运算符(:)和typeof运算运算符?

条件运算符(?:)

条件运算符首先对表达式的真值或假值求值,然后根据求值结果执行两个给定语句之一。

Sr.No. Operator and Description
1

? : (Conditional )

If Condition is true? Then value X : Otherwise value Y

尝试以下代码以了解条件运算符在JavaScript中的工作方式。

      
      

Set the variables to different values and different operators and then try...

输出

((a > b) ? 100 : 200) => 200 
((a < b) ? 100 : 200) => 100
Set the variables to different values and different operators and then try...

类型运算符

typeof运算符是一元运算运算符,位于其单个操作数(可以是任何类型)之前。它的值是一个字符串,指示操作数的数据类型。

如果typeof运算符的操作数是数字,字符串或布尔值,则其计算结果为“数字”,“字符串”或“布尔值”,并根据计算结果返回true或false。

这是typeof运算符的返回值列表。

Type String Returned by typeof
Number “number”
String “string”
Boolean “boolean”
Object “object”
Function “function”
Undefined “undefined”
Null “object”

以下代码显示了如何实现typeof运算符。

      
      

Set the variables to different values and different operators and then try...

输出

Result => B is String 
Result => A is Numeric
Set the variables to different values and different operators and then try...