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;