TypeScript操作符
运算符是在值或数据上操作的符号。它表示处理数据的特定操作。运算符作用于的数据被称为操作数。它可以与一个或多个值一起使用来生成单个值。TypeScript程序中提供了所有标准的JavaScript运算符。
例子
10 + 10 = 20;
在上面的示例中,值“10”和“20”被称为操作数,而“+”和“=”被称为运算符。
TypeScript中的运算符
在TypeScript中,运算符可以分为以下几种方式。
- 算术运算符
- 比较(关系)运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 三元/条件运算符
- 连接运算符
- 类型运算符
算术运算符
算术运算符将数字值作为其操作数,执行操作,然后返回单个数字值。最常见的算术运算符是加法(+),减法(-),乘法(*)和除法(/)。
运算符 | 运算符名称 | 描述 |
---|---|---|
+ | 加法 | 它返回值的总和。 |
示例:
let a = 20;
let b = 30;
let c = a + b;
console.log( c );
输出
50
运算符 | 运算符名称 | 描述 |
---|---|---|
- | 减法 | 返回值的差异。 |
示例:
let a = 30;
let b = 20;
let c = a - b;
console.log( c );
输出
10
运算符 | 运算符名称 | 描述 |
---|---|---|
* | 乘法 | 返回值的乘积。 |
示例:
let a = 30;
let b = 20;
let c = a * b;
console.log( c );
输出
600
运算符 | 运算符名称 | 描述 |
---|---|---|
/ | 除法 | 执行除法操作,并返回商。 |
示例:
let a = 100;
let b = 20;
let c = a / b;
console.log( c );
输出
5
运算符 | 运算符名称 | 描述 |
---|---|---|
% | 取模 | 它执行除法操作并返回余数。 |
示例:
let a = 95;
let b = 20;
let c = a % b;
console.log( c );
输出
15
运算符 | 运算符名称 | 描述 |
---|---|---|
++ | 自增 | 它用于将变量的值增加一。 |
示例:
let a = 55;
a++;
console.log( a );
输出
56
运算符 | 运算符名称 | 描述 |
---|---|---|
-- | 自减 | 它用于将变量的值减少一。 |
示例:
let a = 55;
a--;
console.log( a );
输出
54
比较(关系)运算符
比较运算符用于比较两个操作数。这些运算符返回布尔值true或false。以下是重要的比较运算符。
操作符 | 操作符名称 | 描述 |
---|---|---|
== | 等于 | 它检查两个操作数的值是否相等。 |
=== | 绝对等于(相等并且类型相同) | 它检查两个操作数的类型和值是否相等。 |
!= | 不等于 | 它检查两个操作数的值是否不相等。 |
!== | 不绝对等于(值和类型都不相等) | 它检查两个操作数的类型和值是否不相等。 |
> | 大于 | 它检查左操作数的值是否大于右操作数的值。 |
>= | 大于或等于 | 它检查左操作数的值是否大于或等于右操作数的值。 |
< | 小于 | 它检查左操作数的值是否小于右操作数的值。 |
<= | 小于或等于 | 它检查左操作数的值是否小于或等于右操作数的值。 |
示例代码:
let a = 10;
let b = 20;
console.log(a==b); //false
console.log(a==10); //true
console.log(10=='10'); //true
console.log(a===b); //false
console.log(a===10); //true
console.log(10==='10'); //false
console.log(a!=b); //true
console.log(a!=10); //false
console.log(10!='10'); //false
console.log(a!==b); //true
console.log(a!==10); /false
console.log(10!=='10'); //true
console.log(a>b); //true
console.log(a>30); //false
console.log(20> 20'); //false
console.log(a>=b); //true
console.log(a>=30); //false
console.log(20>='20'); //true
console.log(a<b); //true
console.log(a<10); //false
console.log(10<'10'); //false
console.log(a<=b); //true
console.log(a<=10); //true
console.log(10<='10'); //true
逻辑运算符
逻辑运算符用于将两个或多个条件组合成单个表达式,并返回布尔结果true或false。 以下是逻辑运算符。
运算符 | 运算符名称 | 描述 |
---|---|---|
&& | 逻辑与 | 如果两个操作数(表达式)都为真,则返回true,否则返回false |
例子:
let a = false;
let b = true;
console.log(a&&b); /false
console.log(b&&true); //true
console.log(b&&10); //10 which is also 'true'
console.log(a&&'10'); //false
运算符 | 运算符名称 | 描述 |
---|---|---|
|| | 逻辑或 | 如果任何一个操作数(表达式)为真,则返回true,否则返回false |
例子:
let a = false;
let b = true;
console.log(a||b); //true
console.log(b||true); //true
console.log(b||10); //true
console.log(a||'10'); //'10' which is also 'true'
运算符 | 运算符名称 | 描述 |
---|---|---|
! | 逻辑非 | 返回操作数(表达式)的倒数相反的结果。 |
例子:
let a = 20;
let b = 30;
console.log(!true); //false
console.log(!false); //true
console.log(!a); //false
console.log(!b); /false
console.log(!null); //true
位运算符
位运算符对操作数执行位运算。 以下是位运算符。
运算符 | 运算符名称 | 描述 |
---|---|---|
& | 按位与 | 对其整数参数的每个位执行布尔AND操作,返回结果。 |
例子:
let a = 2;
let b = 3;
let c = a & b;
console.log(c);
输出
2
运算符 | 运算符名称 | 描述 |
---|---|---|
| | 按位或 | 对其整数参数的每个位执行布尔OR操作,返回结果。 |
例子:
let a = 2;
let b = 3;
let c = a | b;
console.log(c);
输出
3
运算符 | 运算符名称 | 描述 |
---|---|---|
^ | 按位异或 | 在其整数参数的每个位上执行布尔异或操作,返回结果。 |
例子:
let a = 2;
let b = 3;
let c = a ^ b;
console.log(c);
输出
1
运算符 | 运算符名称 | 描述 |
---|---|---|
~ | 按位取反 | 反转操作数中的每一位。 |
例子:
let a = 2;
let c = ~ a;
console.log(c);
输出
-3
运算符 | 运算符名称 | 描述 |
---|---|---|
>> | 带符号右移位 | 左操作数的值向右移动右操作数指定的位数。 |
例子:
let a = 2;
let b = 3;
let c = a >> b;
console.log(c);
输出
0
运算符 | 运算符名称 | 描述 |
---|---|---|
\<\< | 带符号左移位 | 左操作数的值向左移动右操作数指定的位数。 新位用零填充在右侧。 |
例子:
let a = 2;
let b = 3;
let c = a << b;
console.log(c);
输出
16
运算符 | 运算符名称 | 描述 |
---|---|---|
>>> | 无符号右移位 | 左操作数的值向右移动右操作数指定的位数,并在左侧添加零。 |
例子:
let a = 3;
let b = 4;
let c = a >>> b;
console.log(c);
Output
0
赋值运算符
赋值运算符被用于给变量赋值。赋值运算符的左侧称为变量,右侧称为值。变量和值的数据类型必须相同,否则编译器会报错。以下是赋值运算符。
运算符 | 运算符名称 | 描述 |
---|---|---|
= | 赋值 | 将右侧的值分配到左侧操作数。 |
示例:
let a = 10;
let b = 5;
console.log("a=b:" +a);
输出
10
运算符 | 运算符名称 | 描述 |
---|---|---|
+= | 加并赋值 | 将左操作数与右操作数相加并将结果分配给左侧操作数。 |
示例:
let a = 10;
let b = 5;
let c = a += b;
console.log(c);
输出
15
运算符 | 运算符名称 | 描述 |
---|---|---|
-= | 减并赋值 | 从左操作数中减去右操作数并将结果分配给左侧操作数。 |
示例:
let a = 10;
let b = 5;
let c = a -= b;
console.log(c);
输出
5
运算符 | 运算符名称 | 描述 |
---|---|---|
*= | 乘并赋值 | 将左操作数与右操作数相乘并将结果分配给左侧操作数。 |
示例:
let a = 10;
let b = 5;
let c = a *= b;
console.log(c);
输出
50
运算符 | 运算符名称 | 描述 |
---|---|---|
/= | 除并赋值 | 将左操作数除以右操作数并将结果分配给左侧操作数。 |
示例:
let a = 10;
let b = 5;
let c = a /= b;
console.log(c);
输出
2
运算符 | 运算符名称 | 描述 |
---|---|---|
%= | 取模并赋值 | 将左操作数与右操作数相除并将结果分配给左侧操作数。 |
示例:
let a = 16;
let b = 5;
let c = a %= b;
console.log(c);
输出
1
三元/条件运算符
条件运算符需要三个操作数,并根据条件返回布尔值,无论条件是true还是false。它的工作方式类似于if-else语句。条件运算符具有从右到左的结合性。以下是条件运算符的语法。
expression ? expression-1 : expression-2;
- 表达式: 它指的是条件表达式。
- 表达式-1: 如果条件为true,则返回表达式-1。
- 表达式-2: 如果条件为false,则返回表达式-2。
示例
let num = 16;
let result = (num > 0) ? "True":"False"
console.log(result);
输出:
True
连接运算符
连接(+)运算符是用于附加两个字符串的运算符。在连接操作中,我们不能在字符串之间添加空格。我们可以在单个语句中连接多个字符串。下面的示例帮助我们了解TypeScript中的连接运算符。
示例
let message = "Welcome to " + "JavaTpoint";
console.log("Result of String Operator: " +message);
输出:
Result of String Operator: Welcome to JavaTpoint
类型操作符
在 TypeScript 中,有一系列可用于处理对象的运算符。例如 typeof、instanceof、in 和 delete 就是类型操作符的示例。以下是这些操作符的详细说明。
操作符名称 | 描述 |
---|---|
in | 它用于检查对象上是否存在属性。 |
例子:
let Bike = {make: 'Honda', model: 'CLIQ', year: 2018};
console.log('make' in Bike);
输出:
true
操作符名称 | 描述 |
---|---|
delete | 它用于从对象中删除属性。 |
例子:
let Bike = { Company1: 'Honda',
Company2: 'Hero',
Company3: 'Royal Enfield'
};
delete Bike.Company1;
console.log(Bike);
输出:
{ Company2: 'Hero', Company3: 'Royal Enfield' }
操作符名称 | 描述 |
---|---|
typeof | 它返回操作数的数据类型。 |
例子:
let message = "Welcome to " + "JavaTpoint";
console.log(typeof message);
输出:
String
操作符名称 | 描述 |
---|---|
instanceof | 它用于检查对象是否为指定类型。 |
例子:
let arr = [1, 2, 3];
console.log( arr instanceof Array ); // true
console.log( arr instanceof String ); // false