TypeScript - 运算符
原创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 |
| ++ (递增) | 将变量的值增加一 | a++ 是 11 |
| -- (递减) | 将变量的值减少一 | 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
| 运算符 | 描述 | 示例 |
|---|---|---|
| & (按位与) | 对其整数参数的每一位执行布尔与操作。 | (A & B) 是 2 |
| | (按位或) | 对其整数参数的每一位执行布尔或操作。 | (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); //输出 4
console.log("value of y: ",y); //输出 -4
编译后,它将生成以下JavaScript代码。
//由typescript 1.8.10生成
var x = 4;
var y = -x;
console.log("value of x: ", x); //输出 4
console.log("value of y: ", y); //输出 -4
它将产生以下输出:
value of x: 4 value of y: -4
字符串运算符:连接运算符 (+)
当+运算符应用于字符串时,会将第二个字符串附加到第一个字符串上。以下示例帮助我们理解这个概念。
var msg:string = "hello"+"world" console.log(msg)
编译后,它将生成以下JavaScript代码。
//由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代码。
//由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); //输出: number
编译后,它将生成以下JavaScript代码。
//由typescript 1.8.10生成 var num = 12; console.log(typeof num); //输出: number
它将产生以下输出:
number
instanceof
此运算符可用于测试对象是否为指定类型。instanceof运算符的使用将在类章节中讨论。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。
开发学习网




