ts:常见的运算符
- 1 主要内容说明
- 2 表格
- 2.1 算数运算符
- 2.2 赋值运算符
- 2.3 比较运算符
- 2.4 逻辑运算符
- 2.5 位运算符
- 2.6 三元运算符
- 3 例子
- 3.1 位运算符
- 3.1.1 源码1 (位运算符)
- 3.1.2 源码1运行效果
- 3.结语
- 4.定位日期
1 主要内容说明
ts中的各种运算符,代码中常常用得到,其他语言中也同样拥有相同的运算符。只需会一种语言的运算符就可以举一反三,会其他语言的运算符了。由于内容比较简单,简单的运算符具体代码举例便不进行了,只设置那些稍难一点的运算符,如三元运算符和位运算符。其实都是很容易,聪明的读者肯定能一看就会。
2 表格
2.1 算数运算符
比较常见的数学计算运算符。
| 运算符 | 功能 | 举例 |
|---|---|---|
| + | 加法 | 764 + 467 |
| - | 减法 | 764 - 467 |
| ×(*) | 乘法 | 764 * 467 |
| / | 除法 | 764 / 467 |
| % | 取余 | 764 % 467 |
| ** | 幂运算(指数) | 2 ** 3(结果为 8) |
2.2 赋值运算符
赋值运算符用于将值赋给变量。
| 运算符 | 功能 | 举例 |
|---|---|---|
| = | 赋值 | let a = 764 |
| += | 加法赋值 | a += 764(等价于 a = a + 764) |
| -= | 减法赋值 | a -= 764(等价于 a = a - 764) |
| *= | 乘法赋值 | a *= 764(等价于 a = a * 764) |
| /= | 除法赋值 | a /= 764(等价于 a = a / 764) |
| %= | 取余赋值 | a %= 764(等价于 a = a % 764) |
| ++ | 累加 | n++ (等价于 n = n + 1) |
| -- | 累减 | n - - (等价于 n = n - 1) |
2.3 比较运算符
比较运算符通常用于比较两值,返回布尔值。
| 运算符 | 功能 | 举例 |
|---|---|---|
| == | 相等(类型不严格) | 7 == ‘7’(返回 true) |
| === | 严格相等 | 7 === ‘7’(返回 false) |
| != | 不相等(类型不严格) | 7 != ‘7’(返回 false) |
| !== | 严格不相等 | 7 !== ‘7’(返回 true) |
| > | 大于 | 7 > 6(返回 true) |
| < | 小于 | 7 < 6(返回 false) |
| >= | 大于或等于 | 7 >= 7(返回 true) |
| <= | 小于或等于 | 7 <= 7(返回 true) |
2.4 逻辑运算符
逻辑运算符用于组合布尔表达式。
| 运算符 | 功能 | 举例 |
|---|---|---|
| || | 逻辑或 | true ||false(返回true) |
| && | 逻辑与 | true && false(返回 false) |
| ! | 逻辑非 | !true(返回 false) |
2.5 位运算符
位运算符用于操作位。平常我们输入的为10进制的数,位运算符为转为二进制后进行相关的方法。为了让方法更直观,我们在后面再另起代码示例的源码1。
| 运算符 | 功能 | 举例 |
|---|---|---|
| & | 位与 | 7 & 4 |
| | | 位或 | 7|4 |
| ^ | 位异或 | 7 ^ 4 |
| ~ | 位非 | ~7 |
| << | 左移 | 7 << 4 |
| >> | 右移 | 7 >> 4 |
| >>> | 无符号右移 | 7 >>> 4 |
2.6 三元运算符
let A = 467;
let B = 764;
let max = (A > B) ? A : B; // 返回较大值
当?左边的函数返回为真(ture)时,返回A值,反之,当?左边的函数返回为假(false)时,返回B值。
三元运算符问号左边为设置的函数,这里只是设置了一个非常简单的比较函数,开发中会有更复杂的逻辑函数。当?左边函数成立时,便执行内容A,不成立,则执行B。当然,?右边的A和B也可以各自设置方法,当满足问号左边的函数条件时,执行A的方法,不满足函数条件,则执行B的方法。
3 例子
3.1 位运算符
3.1.1 源码1 (位运算符)
let a = 7; // 7 的二进制表示为 0000000111
let b = 4; // 4 的二进制表示为 0000000100// 位与运算符(&)
// 只有在 a 和 b 的对应位都为 1 时,结果才为 1
let result_1 = a & b; // 结果:0000000100(即 4)
console.log(result_1); // 输出 4// 位或运算符(|)
// 只要 a 和 b 的对应位有一个为 1,结果就为 1
let result_2 = a | b; // 结果:0000000111(即 7)
console.log(result_2); // 输出 7// 位异或运算符(^)
// 当 a 和 b 的对应位不相同时,结果为 1
let result_3 = a ^ b; // 结果:0000000011(即 3)
console.log(result_3); // 输出 3// 位非运算符(~)
// 对 a 的每一位取反
let result_4 = ~a; // 结果:-8(即 11111111111111111111111111111000,32位补码表示)
console.log(result_4); // 输出 -8// 左移运算符(<<)
// 将 a 的二进制位向左移动 1 位,右侧补 0
let result_5 = a << 1; // 结果:0000001110(即 14)
console.log(result_5); // 输出 14// 右移运算符(>>)
// 将 a 的二进制位向右移动 1 位,符号位保持不变
let result_6 = a >> 1; // 结果:0000000011(即 3)
console.log(result_6); // 输出 3// 无符号右移运算符(>>>)
// 将 a 的二进制位向右移动 1 位,左侧补 0
let result_7 = a >>> 1; // 结果:0000000011(即 3)
console.log(result_7); // 输出 3
3.1.2 源码1运行效果

3.结语
运算符代码中用得非常多,所以归纳整合了一下。笔者认为本文中,最最重要的是三元运算符,在函数逻辑中用得好的话,可以让代码更简单和清晰。
由于笔者的能力有限,创作的内容有所不足在所难免,也敬请读者包涵和指出,万分感谢!
4.定位日期
2024-11-3;
20:01;