TypeScript-运算符

什么是运算符?

运算符定义一些将对数据执行的功能。运算符所作用的数据称为操作数。考虑以下表达式-

7 + 5 = 12

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

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

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

算术运算符

假设变量a和b中的值分别为10和5。

OperatorDescriptionExample
+ (Addition)
返回操作数之和
a + b is 15
– (Subtraction)
输出的差
a – b is 5
* (Multiplication)
输出的乘积
a * b is 50
/ (Division)执行除法运算并返回商a / b is 2
% (Modulus)执行除法运算并返回余数a % b is 0
++ (Increment)将变量的值加1a++ is 11
— (Decrement)
将变量的值减一
a– is 9

关系运算符

关系运算符测试或定义两个实体之间的关系类型。关系运算符返回布尔值,即true / false。

假设A的值为10,B的值为20。

运算符描述
>比…大(A> B)为假
<小于(A <B)为真
> =大于或等于(A> = B)为假
<=小于或等于(A <= B)为真
==平等(A == B)为假
!=不相等(A!= B)为真

逻辑运算符

逻辑运算符用于组合两个或多个条件。逻辑运算符也返回布尔值。假设变量A的值为10,而B为20。

运算符描述
&&(和)仅当指定的所有表达式均返回true时,运算符才返回true(A> 10 && B> 10)为假
|| (要么)如果指定的至少一个表达式返回true,则运算符返回true(A> 10 || B> 10)为真
!(不)运算符返回表达式结果的倒数。例如:!(> 5)返回false!(A> 10)为真

按位运算符

假设变量A = 2和B = 3

运算符描述
&(按位与)它对其整数参数的每一位执行布尔“与”运算。(A&B)是2
| (BitWise或)它对其整数参数的每一位执行布尔或运算。(A | B)是3
^(按位XOR)它对其整数参数的每一位执行布尔异或运算。异或表示一个操作数为true或两个操作数为true,但不是两个都为真。(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
  • 测试-指条件表达式
  • 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

类型运算符

类型运算符

它是一元运算符。该运算符返回操作数的数据类型。看下面的例子-

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运算符的将在Class类的章节讨论

觉得文章有用?

点个广告表达一下你的爱意吧 !😁