📜  JavaScript运算子

📅  最后修改于: 2020-09-27 07:33:14             🧑  作者: Mango

在本教程中,您将了解JavaScript中可用的不同运算符 ,以及如何在示例的帮助下使用它们。

什么是运算符?

在JavaScript中, 运算符是用于对操作数(值和变量)执行操作的特殊符号。例如,

2 + 3; // 5

+是执行加法的运算符 , 23是操作数。


JavaScript运算符类型

这是您将在本教程中学习的不同运算符的列表。

  • 赋值运算符
  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 按位运算符
  • 字符串运算符
  • 其他运营商

JavaScript赋值运算符

赋值运算符是用来变量赋值。例如,

let x = 5;

在此, = 运算符用于将值5分配给变量x

以下是常用的赋值运算符的列表:

Operator Name Example
= Assignment operator a = 7; // 7
+= Addition assignment a += 5; // a = a + 5
-= Subtraction Assignment a -= 2; // a = a - 2
*= Multiplication Assignment a *= 3; // a = a * 3
/= Division Assignment a /= 2; // a = a / 5
%= Remainder Assignment a %= 2; // a = a % 2
**= Exponentiation Assignment a **= 2; // a = a^2

注意:常用的赋值运算符是= 。学习算术运算运算符 ,您将了解其他赋值运算符,例如+=-=*=等。


JavaScript算术运算符

算术运算运算符用于执行算术计算 。例如,

let number = 3 + 5; // 8

此处, + 运算符用于添加两个操作数。

Operator Name Example
+ Addition x + y
- Subtraction x - y
* Multiplication x * y
/ Division x / y
% Remainder x % y
++ Increment (increments by 1) ++x or x++
-- Decrement (decrements by 1) --x or x--
** Exponentiation (Power) x ** y

示例1:JavaScript中的算术运算运算符

let x = 5;
let y = 3;

// addition
console.log('x + y = ', x + y);

// subtraction
console.log('x - y = ', x - y);

// multiplication
console.log('x * y = ', x * y);

// division
console.log('x / y = ', x / y);

// remainder
console.log('x % y = ', x % y);

// increment
console.log('++x = ', ++x); // x is now 6
console.log('x++ = ', x++); // x returns 6 and then increases by 1
console.log('x = ', x);

// decrement
console.log('--x = ', --x); // x is now 6
console.log('x-- = ', x--); // x returns 6 and then increases by 1
console.log('x = ', x);

//exponentiation
console.log('x ** y =', x ** y);

访问++和- 运算符以了解更多信息。

输出

x + y =  8
x - y =  2
x * y =  15
x / y = 1.6666666666666667
x % y = 2
++x =  6
x++ = 6
x = 7
--x = 6
x-- = 6
x = 5
x ** y = 125

注意 :EcmaScript 2016中引入了** 运算符 。而且,某些浏览器可能不支持幂运算符。要了解更多信息,请访问JavaScript指数浏览器支持。


JavaScript比较运算符

运算符 比较两个值,然后返回布尔值truefalse 。例如,

let a = 3, b = 2;
console.log(a > b); // true 

这里,比较运算符 >用于比较一个是否大于b。

Operator Description Example
== Equal to: returns true if the operands are equal x == y
!= Not equal to: returns true if the operands are not equal x != y
=== Strict equal to: true if the operands are equal and of the same type x === y
!== Strict not equal to: true if the operands are equal but of different type or not equal at all x !== y
> Greater than: true if left operand is greater than the right operand x > y
>= Greater than or equal to: true if left operand is greater than or equal to the right operand x >= y
< Less than: true if the left operand is less than the right operand x < y
<= Less than or equal to: true if the left operand is less than or equal to the right operand x <= y

示例2:JavaScript中的运算符

// equal operator
console.log(2 == 2); // true
console.log(2 == '2'); // true

// not equal operator
console.log(3 != 2); // true
console.log('hello' != 'Hello'); // true

// strict equal operator
console.log(2 === 2); // true
console.log(2 === '2'); // false

// strict not equal operator
console.log(2 !== '2'); // false
console.log(2 !== '2'); // true

输出

true
true
true
true
true
false
false
true

运算符用于决策和循环。您将了解在后面的教程中详细讲述了用比较运算符 。


JavaScript逻辑运算符

逻辑运算符执行逻辑运算并返回布尔值truefalse 。例如,

let x = 5, y = 3;
(x < 6) && (y < 5); // true

在这里, &&是逻辑运算符 AND 。由于x < 6y < 5都为true ,因此结果为true

Operator Description Example
&& Logical AND: true if both the operands are true, else returns false x && y
|| Logical OR: true if either of the operands is true; returns false if both are false x || y
! Logical NOT: true if the operand is false and vice-versa. !x

示例3:JavaScript中的逻辑运算符

// logical AND
console.log(true && true); // true
console.log(true && false); // false

// logical OR
console.log(true || false); // true

// logical NOT
console.log(!true); // false

输出

true
false
true
false

逻辑运算符用于决策和循环。您将在后面的教程中详细了解逻辑运算符的用法。


JavaScript按位运算符

按位运算符对数字的二进制表示形式执行操作。

Operator Description
& Bitwise AND
| Bitwise OR
^ Bitwise XOR
~ Bitwise NOT
<< Left shift
>> Sign-propagating right shift
>>> Zero-fill right shift

在日常编程中很少使用按位运算符 。如果您有兴趣,请访问JavaScript位运算符以了解更多信息。


JavaScript字符串运算符

在JavaScript中,您还可以使用+ 运算符来连接(联接)两个或多个字符串。

示例4:JavaScript中的字符串运算符

// concatenation operator
console.log('hello' + 'world');

let a = 'JavaScript';

a += ' tutorial';  // a = a + ' tutorial';
console.log(a);

输出

helloworld
JavaScript tutorial

注意:+与字符串使用时,它将执行串联。但是,当+与数字一起使用时,它将执行加法运算。


其他JavaScript运算子

为了完整起见,下面列出了JavaScript中可用的其他运算符 。您将在后面的教程中了解这些运算符 。

Operator Description Example
, evaluates multiple operands and returns the value of the last operand. let a = (1, 3 , 4); // 4
?: returns value based on the condition (5 > 3) ? 'success' : 'error'; // "success"
delete deletes an object’s property, or an element of an array delete x
typeof returns a string indicating the data type typeof 3; // "number"
void discards the expression’s return value void(x)
in returns true if the specified property is in the object prop in object
instanceof returns true if the specified object is of of the specified object type object instanceof object_type