TypeScript - 运算符



什么是运算符?

运算符定义了将在数据上执行的某些函数。运算符作用于的数据称为操作数。请考虑以下表达式:

7 + 5 = 12

这里,值 7、5 和 12 是操作数,而 + 和 = 是运算符

TypeScript 中的主要运算符可以分类为:

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

算术运算符

假设变量 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
!(非) 该运算符返回表达式的结果的反值。例如:!(>5) 返回 false !(A >10 ) 为 True

位运算符

假设变量 A = 2,B = 3

显示示例

运算符 描述 示例
&(按位与) 它对每个整数参数的每个位执行布尔 AND 运算。 (A & B) 为 2
|(按位或) 它对每个整数参数的每个位执行布尔 OR 运算。 (A | B) 为 3
^(按位异或) 它对每个整数参数的每个位执行布尔异或运算。异或意味着操作数一为真或操作数二为真,但不能同时为真。 (A ^ B) 为 1
~(按位非) 它是一个一元运算符,通过反转操作数中的所有位来操作。 (~B) 为 -4
<<(左移) 它将第一个操作数中的所有位向左移动第二个操作数中指定的位数。新的位用零填充。将值左移一位相当于将其乘以 2,左移两位相当于将其乘以 4,依此类推。 (A << 1) 为 4
>>(右移) 二进制右移运算符。左操作数的值向右移动由右操作数指定的位数。 (A >> 1) 为 1
>>>(带零的右移) 此运算符与 >> 运算符类似,只是左侧移入的位始终为零。 (A >>> 1) 为 1

赋值运算符

显示示例

运算符 描述 示例
=(简单赋值) 将值从右侧操作数赋值给左侧操作数 C = A + B 将 A + B 的值赋给 C
+=(加法赋值) 它将右侧操作数加到左侧操作数,并将结果赋给左侧操作数。 C += A 等价于 C = C + A
-=(减法赋值) 它从左侧操作数中减去右侧操作数,并将结果赋给左侧操作数。 C -= A 等价于 C = C - A
*=(乘法赋值) 它将右侧操作数乘以左侧操作数,并将结果赋给左侧操作数。 C *= A 等价于 C = C * A
/=(除法赋值) 它将左侧操作数除以右侧操作数,并将结果赋给左侧操作数。

注意 - 位运算符也适用相同的逻辑,因此它们将变为 <<=、>>=、>>=、&=、|= 和 ^=。

其他运算符

否定运算符 (-)

更改值的符号。让我们举个例子。

var x:number = 4 
var y = -x; 
console.log("value of x: ",x);   //outputs 4 
console.log("value of y: ",y);   //outputs -4

编译后,它将生成以下 JavaScript 代码。

//Generated by typescript 1.8.10
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:string = "hello"+"world" 
console.log(msg)

编译后,它将生成以下 JavaScript 代码。

//Generated by typescript 1.8.10
var msg = "hello" + "world";
console.log(msg);

它将产生以下输出:

helloworld

连接操作不会在字符串之间添加空格。可以在单个语句中连接多个字符串。

条件运算符 (?)

此运算符用于表示条件表达式。条件运算符有时也称为三元运算符。语法如下所示:

Test ? expr1 : expr2
  • Test - 指条件表达式

  • expr1 - 如果条件为真则返回的值

  • expr2 - 如果条件为假则返回的值

让我们看一下以下代码:

var num:number = -2 
var result = num > 0 ?"positive":"non-positive" 
console.log(result)

第 2 行检查变量num中的值是否大于零。如果num设置为大于零的值,则返回字符串“positive”,否则返回字符串“non-positive”。

编译后,它将生成以下 JavaScript 代码。

//Generated by typescript 1.8.10
var num = -2;
var result = num > 0 ? "positive" : "non-positive";
console.log(result);

以上代码段将产生以下输出:

non-positive

类型运算符

typeof 运算符

它是一个一元运算符。此运算符返回操作数的数据类型。请看以下示例:

var num = 12 
console.log(typeof num);   //output: number

编译后,它将生成以下 JavaScript 代码。

//Generated by typescript 1.8.10
var num = 12;
console.log(typeof num);   //output: number

它将产生以下输出:

number

instanceof

此运算符可用于测试对象是否为指定类型。instanceof 运算符的使用在一章中进行了讨论。

广告
© . All rights reserved.