二维码

JavaScript 运算符

JavaScript 运算符

加法运算符 + 将数字相加:

赋值运算符 = 为变量赋值。


JavaScript 赋值

赋值运算符( )=为变量赋值:

1
let x = 10;

1
2
3
4
5
6
// Assign the value 5 to x  
let x = 5;
// Assign the value 2 to y
let y = 2;
// Assign the value x + y to z:
let z = x + y;


JavaScript 添加

加法运算符( )+将数字相加:

:添加
1
2
3
let x = 5;  
let y = 2;
let z = x + y;

JavaScript 乘法

乘法运算符*) 将数字相乘:

:乘法
1
2
3
let x = 5;  
let y = 2;
let z = x * y;


JavaScript 运算符的类型

JavaScript 运算符有不同类型:

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 字符串运算符
  • 逻辑运算符
  • 按位运算符
  • 三元运算符
  • 类型运算符

JavaScript 算术运算符

算术运算符用于对数字执行算术运算:

:算术运算符
1
2
let a = 3;  
let x = (100 + 50) * a;

运算符 概述
+ 加法
- 减法
* 乘法
** 求幂 ([ES2016])
/ 除法
% 模数(除法余数)
++ 递增
-- 递减

JavaScript 赋值运算符

赋值运算符将值赋给 JavaScript 变量。

加法赋值运算符( )+=将值添加到变量。

1
2
let x = 10;  
x += 5;

运算符 例子 与…一样
= x = y x = y
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y
**= x **= y x = x ** y

JavaScript 比较运算符

运算符 概述
== 等于
=== 相等的值和相等的类型
!= 不等于
!== 值不相等或类型不相等
> 大于
< 小于
>= 大于或等于
<= 小于或等于
? 三元运算符

JavaScript 字符串比较

上面的所有比较运算符也可以用于字符串:

1
2
3
let text1 = "A";  
let text2 = "B";
let result = text1 < text2;

请注意,字符串是按字母顺序比较的:

1
2
3
let text1 = "20";  
let text2 = "5";
let result = text1 < text2;


JavaScript 字符串加法

+可用于添加(连接)字符串:

1
2
3
let text1 = "John";  
let text2 = "Doe";
let text3 = text1 + " " + text2;

赋值运算符+=也可用于添加(连接)字符串:

1
2
let text1 = "What a very ";  
text1 += "nice day";

text1 的结果将是:

1
What a very nice day

笔记

当用于字符串时,+ 运算符称为连接运算符。


添加字符串和数字

两个数字相加将返回总和,而数字和字符串相加将返回一个字符串:

1
2
3
let x = 5 + 5;  
let y = "5" + 5;
let z = "Hello" + 5;

xyz的结果将是:

1
2
3
10  
55
Hello5

笔记

如果将数字和字符串相加,结果将是字符串!


JavaScript 逻辑运算符

运算符 概述
&& 逻辑和
| 逻辑或
! 逻辑非

JavaScript 类型运算符

属性 概述
typeof 返回变量的类型
instanceof 如果对象是对象类型的实例,则返回 true

JavaScript 位运算符

位运算符适用于 32 位数字。

运算中的任何数字操作数都会转换为 32 位数字。结果被转换回 JavaScript 数字。

Operator Description Example Same as Result Decimal
& AND 5 & 1 0101 & 0001 0001 1
| OR 5 | 1 0101 | 0001 0101 5
~ NOT ~ 5 ~0101 1010 10
^ XOR 5 ^ 1 0101 ^ 0001 0100 4
<< left shift 5 << 1 0101 << 1 1010 10
>> right shift 5 >> 1 0101 >> 1 0010 2
>>> unsigned right shift 5 >>> 1 0101 >>> 1 0010 2

上面的示例使用 4 位无符号示例。但 JavaScript 使用 32 位有符号数字。
因此,在 JavaScript 中,~ 5 不会返回 10。它将返回 -6。
~00000000000000000000000000000101 将返回 11111111111111111111111111111010