[Typescript]基础篇之运算符

基础篇之运算符

  • Typescript 运算符类型
    • 算术运算符
    • 关系运算符
    • 逻辑运算符
      • 短路运算符
    • 位运算符
    • 赋值运算符
    • 三元运算符
    • 类型运算符
    • 其他运算符
      • 负号运算符(-)
      • 字符串运算符: 连接运算符 (+)

Typescript 运算符类型

TypeScript 主要包含以下几种运算:

  • 算术运算符
  • 逻辑运算符
  • 关系运算符
  • 按位运算符
  • 赋值运算符
  • 三元/条件运算符
  • 字符串运算符
  • 类型运算符

算术运算符

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 取模(余数)
++ 自增
自减

关系运算符

关系运算符用于计算结果是否为 true 或者 false。

运算符 描述
== 等于
!= 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于

逻辑运算符

逻辑运算符用于测定变量或值之间的逻辑结果,通常用于计算不同条件之间最终的结果为 true 或者 false。
我们通常根据 逻辑运算符的计算结果为 true 或者 false 来进行不同条件的筛选与处理

运算符 描述
&& and,与,需同时满足&&连接的所有条件
|| or,或,只需满足 || 连接的条件之一
! not,非,需与!后列出条件相反

短路运算符

这里是指当多个表达式通过逻辑运算符进行连接,我们通过前面的表达式已经可以确定最终的结果,导致不需要在计算后面表达式的结果时,称之为短路
短路的场景描述:

  • 只有&&逻辑运算符时 ,如果第一个表达式的计算结果为 false,那么可以不需要在计算后面表达式的结果,已经可以确定最终结果为 false;
  • 只有||逻辑运算符时 ,如果第一个表达式的计算结果为 true,那么可以不需要在计算后面表达式的结果,已经可以确定最终结果为 true;

位运算符

位操作是程序设计中对位模式按位或二进制数的一元和二元操作。

| 运算符 | 描述 | 例子 | 类似于 | 结果 | 十进制 |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------- | ----------- | ----------- | ---- | ------ | ---- | — |
| & | AND,按位与处理两个长度相同的二进制数,两个相应的二进位都为 1,该位的结果值才为 1,否则为 0。 | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR,按位或处理两个长度相同的二进制数,两个相应的二进位中只要有一个为 1,该位的结果值为 1。 | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
| ~ | 取反,取反是一元运算符,对一个二进制数的每一位执行逻辑反操作。使数字 1 成为 0,0 成为 1。 | x = ~ 5 | ~0101 | 1010 | -6 |
| ^ | 异或,按位异或运算,对等长二进制模式按位或二进制数的每一位执行逻辑异按位或操作。操作的结果是如果某位不同则该位为 1,否则该位为 0。 | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
| << | 左移,把 << 左边的运算数的各二进位全部左移若干位,由 << 右边的数指定移动的位数,高位丢弃,低位补 0。 | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
| >> | 右移,把 >> 左边的运算数的各二进位全部右移若干位,>> 右边的数指定移动的位数。 | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
| >>> | 无符号右移,与有符号右移位类似,除了左边一律使用 0 补位。 | x = 2 >>> 1 | 0010 >>> 1 | 0001 | 1 |

二进制中最高位表示符号位,0 表示符号位为正数,1 表示符号位为负数,取反需要同时对符号位取反
十进制转换为二进制方法:可以一直除以 2 直到商为 0,然后获取每次的余数,最后获取的余数是二进制的最左数,最开始的余数是二进制位的最右

赋值运算符

赋值运算符用于给变量赋值。

运算符 描述
= 赋值
+= 先进行加运算后赋值
-= 先进行减运算后赋值
*= 先进行乘运算后赋值
/= 先进行除运算后赋值

类似的逻辑运算符也可以与赋值运算符联合使用:<<=, >>=, >>=, &=, |= 与 ^=。

三元运算符

三元运算有 3 个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

Test ? expr1 : expr2
  • Test − 指定的条件语句
  • expr1 − 如果条件语句 Test 返回 true 则返回该值
  • expr2 − 如果条件语句 Test 返回 false 则返回该值

一元/二元/三元指的是可操作的值的个数

类型运算符

typeof 运算符
typeof 是一元运算符,返回操作数的数据类型

注意,js 中 null 与 []返回的类型都是 object ,ts 也是如此

其他运算符

负号运算符(-)

更改操作数的符号,是一元运算符

字符串运算符: 连接运算符 (+)

  • 运算符可以拼接两个字符串

如果前后连接的是两个数字,则 + 是算术运算符

你可能感兴趣的:(JS,typescript,javascript,开发语言)