运算符定义了将对数据执行的一些函数.运算符工作的数据称为操作数.请考虑以下表达式 :
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 |
+ + (增量) | 将变量的值增加一个 | a + + 是11 |
- (减少) | 减量变量的值为1 | a--是9 |
关系运算符测试或定义两个实体之间的关系类型.关系运算符返回一个布尔值,即true/false.
假设A的值为10,B为20.
运算符 | Description | 示例 |
---|---|---|
> | 大于 | (A> B)为假 |
< | 小于 | (A< B)为真 |
> = | 大于或等于 | (A> = B)为假 |
< = | 小于或等于 | (A< = B)为真 |
== | Equality | (A == B)为假 |
!= | 不等于 | (A!= B)为真 |
逻辑运算符用于组合两个或多个条件.逻辑运算符也返回一个布尔值.假设变量A的值为10,B为20.
运算符 | 描述 | 示例 |
---|---|---|
&& (和) | 只有当指定的所有表达式都返回true时,运算符才返回true | (A> 10&& B> 10)为假 |
|| (OR) | 如果指定的表达式中至少有一个返回true,则运算符返回true | (A> 10 | | B> 10)为真 |
! (NOT) | 运算符返回表达式结果的反函数.例如:!(> 5)返回false | !(A> 10)为True |
假设变量A = 2且B = 3
运算符 | 描述 | 示例 |
---|---|---|
&安培; (按位AND) | 它对其整数参数的每一位执行布尔AND运算. | (A& B)是2 |
| (BitWise OR) | 它对其整数参数的每一位执行布尔OR运算. | (A | B)是3 |
^(按位异或) | 它对其整数参数的每个位执行布尔异或运算.异或表示操作数1为真或操作数2为真,但不是两者. | (A ^ B)为1 |
〜(按位不是) | 它是一元运算符,通过反转所有操作数中的位. | (~B)是-4 |
<< (左移) | 它将第一个操作数中的所有位向左移动第二个操作数中指定的位数.新位用零填充.将一个值左移一个等值相当于将其乘以2,移位两个位置相当于乘以4,依此类推. | (A<< ; 1)是4 |
>> (右移) | 二进制右移运算符.左操作数的值向右移动右操作数指定的位数. | (A>> 1)是1 |
>>> (右移零) | 此运算符就像>>运算符,除了左边移入的位始终为零. | (A>>> 1)是1 |
运算符 | 描述 | 示例 |
---|---|---|
=(简单分配) | 从右侧操作数到左侧操作数分配值 | C = A + B将指定A&plus的值; 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?"正面":"非正面" console.log(结果)
第2行检查变量中的值是否为 num 大于零.如果 num 设置为大于零的值,则返回字符串"positive",否则返回字符串"non-positive".
编译时,它将生成以下JavaScript代码.
var num:number = -2 var result = num > 0 ?"positive":"non-positive" console.log(result)
上面的代码片段将产生以下输出 :
non-positive
这是一个一元运算符.此运算符返回操作数的数据类型.看看以下示例 :
var num = 12 console.log(typeof num);//输出:数字
在编译时,它将生成以下JavaScript代码.
//由typescript生成1.8.10 var num = 12; console.log(typeof num);//输出:数字
它将产生以下输出 :
number
此运算符可用于测试对象是否属于指定类型.在类一章中讨论了使用 instanceof 运算符.