- ES6 教程
- ES6 - 首页
- ES6 - 概述
- ES6 - 环境
- ES6 - 语法
- ES6 - 变量
- ES6 - 运算符
- ES6 - 决策
- ES6 - 循环
- ES6 - 函数
- ES6 - 事件
- ES6 - Cookie
- ES6 - 页面重定向
- ES6 - 对话框
- ES6 - void 关键字
- ES6 - 页面打印
- ES6 - 对象
- ES6 - 数字
- ES6 - 布尔值
- ES6 - 字符串
- ES6 - Symbol
- ES6 - 新的字符串方法
- ES6 - 数组
- ES6 - 日期
- ES6 - 数学
- ES6 - 正则表达式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 类
- ES6 - Map 和 Set
- ES6 - Promise
- ES6 - 模块
- ES6 - 错误处理
- ES6 - 对象扩展
- ES6 - Reflect API
- ES6 - Proxy API
- ES6 - 验证
- ES6 - 动画
- ES6 - 多媒体
- ES6 - 调试
- ES6 - 图片地图
- ES6 - 浏览器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用资源
- ES6 - 快速指南
- ES6 - 有用资源
- ES6 - 讨论
ES6 - 运算符
一个表达式是一种特殊类型的语句,它会计算出一个值。每个表达式都由以下部分组成:
操作数 − 代表数据。
运算符 − 定义如何处理操作数以生成值。
考虑以下表达式:2 + 3。在这个表达式中,2 和 3 是操作数,符号 +(加号)是运算符。JavaScript 支持以下类型的运算符:
- 算术运算符
- 逻辑运算符
- 关系运算符
- 位运算符
- 赋值运算符
- 三元/条件运算符
- 字符串运算符
- 类型运算符
- void 运算符
算术运算符
假设变量a和b的值分别为 10 和 5。
运算符 | 功能 | 示例 |
---|---|---|
+ | 加法
返回操作数的和。 |
a + b 为 15 |
- | 减法
返回数值的差。 |
a - b 为 5 |
* | 乘法
返回数值的积。 |
a * b 为 50 |
/ | 除法
执行除法运算并返回商。 |
a / b 为 2 |
% | 取模
执行除法并返回余数。 |
a % b 为 0 |
++ | 递增
将变量的值递增 1。 |
a++ 为 11 |
-- | 递减
将变量的值递减 1。 |
a-- 为 9 |
关系运算符
关系运算符测试或定义两种实体之间的关系。关系运算符返回布尔值,即 true/false。
假设 A 的值为 10,B 的值为 20。
运算符 | 描述 | 示例 |
---|---|---|
> | 大于 | (A > B) 为 False |
< | 小于 | (A < B) 为 True |
>= | 大于或等于 | (A >= B) 为 False |
<= | 小于或等于 | (A <= B) 为 True |
== | 等于 | (A == B) 为 False |
!= | 不等于 | (A != B) 为 True |
逻辑运算符
逻辑运算符用于组合两个或多个条件。逻辑运算符也返回布尔值。假设变量 A 的值为 10,B 的值为 20。
显示示例.
运算符 | 描述 | 示例 |
---|---|---|
&& |
与
只有当所有指定的表达式都返回 true 时,运算符才返回 true。 |
(A > 10 && B > 10) 为 False |
|| |
或
如果至少一个指定的表达式返回 true,则运算符返回 true。 |
(A > 10 || B > 10) 为 True |
! |
非
运算符返回表达式的结果的逆值。例如:!(7 > 5) 返回 false。 |
!(A > 10) 为 True |
位运算符
JavaScript 支持以下位运算符。下表总结了 JavaScript 的位运算符。
显示示例.
运算符 | 用法 | 描述 |
---|---|---|
按位与 | a & b | 对于两个操作数的相应位都是 1 的每个位位置,返回 1 |
按位或 | a | b | 对于两个操作数的相应位中任一个或两个都是 1 的每个位位置,返回 1 |
按位异或 | a^b | 对于两个操作数的相应位中只有一个是 1 的每个位位置,返回 1 |
按位非 | ~ a | 反转其操作数的位 |
左移 | a << b | 将 a 的二进制表示向左移动 b (< 32) 位,从右边移入零 |
符号扩展右移 | a >> b | 将 a 的二进制表示向右移动 b (< 32) 位,丢弃移出的位 |
零填充右移 | a >>> b | 将 a 的二进制表示向右移动 b (< 32) 位,丢弃移出的位,并从左边移入零 |
赋值运算符
下表总结了赋值运算符。
显示示例.
序号 | 运算符和描述 |
---|---|
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 − 如果条件为 true,则返回的值
expr2 − 如果条件为 false,则返回的值
示例
var num = -2 var result = num > 0 ?"positive":"non-positive" console.log(result)
第 2 行检查变量 num 中的值是否大于零。如果 num 设置为大于零的值,则返回字符串“positive”,否则返回“non-positive”字符串。
在成功执行上述程序后,将显示以下输出。
non-positive
typeof 运算符
它是一个一元运算符。此运算符返回操作数的数据类型。下表列出了 JavaScript 中 typeof 运算符返回的数据类型和值。
类型 | typeof 返回的字符串 |
---|---|
数字 | "number" |
字符串 | "string" |
布尔值 | "boolean" |
对象 | "object" |
以下示例代码显示数字作为输出。
var num = 12 console.log(typeof num); //output: number
在成功执行上述代码后,将显示以下输出。
number
扩展运算符
ES6 提供了一个名为扩展运算符的新运算符。扩展运算符由三个点“...”表示。扩展运算符将数组转换为单个数组元素。
扩展运算符和函数
以下示例说明了在函数中使用扩展运算符。
<script> function addThreeNumbers(a,b,c){ return a+b+c; } const arr = [10,20,30] console.log('sum is :',addThreeNumbers(...arr)) console.log('sum is ',addThreeNumbers(...[1,2,3])) </script>
上述代码的输出将如下所示:
sum is : 60 sum is 6
扩展运算符和数组复制和连接
扩展运算符可用于将一个数组复制到另一个数组。它还可用于连接两个或多个数组。这在以下示例中显示:
示例
<script> //copy array using spread operator let source_arr = [10,20,30] let dest_arr = [...source_arr] console.log(dest_arr) //concatenate two arrays let arr1 = [10,20,30] let arr2 =[40,50,60] let arr3 = [...arr1,...arr2] console.log(arr3) </script>
上述代码的输出将如下所示:
[10, 20, 30] [10, 20, 30, 40, 50, 60]
扩展运算符和对象复制和连接
扩展运算符可用于将一个对象复制到另一个对象。它还可用于连接两个或多个对象。这在以下示例中显示:
<script> //copy object let student1 ={firstName:'Mohtashim',company:'TutorialsPoint'} let student2 ={...student1} console.log(student2) //concatenate objects let student3 = {lastName:'Mohammad'} let student4 = {...student1,...student3} console.log(student4) </script>
上述代码的输出将如下所示:
{firstName: "Mohtashim", company: "TutorialsPoint"} {firstName: "Mohtashim", company: "TutorialsPoint", lastName: "Mohammad"}