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
极客教程