TypeScript 运算符
在编程中,运算符是用来执行某些操作的符号,比如赋值、比较、数学运算等。TypeScript 和 JavaScript 一样,提供了多种类型的运算符。本章将带你了解 TypeScript 中支持的各种运算符及其用法。
TypeScript 中的运算符主要可以分为以下几类:
- 算术运算符(Arithmetic Operators)
- 关系运算符(Relational Operators)
- 逻辑运算符(Logical Operators)
- 位运算符(Bitwise Operators)
- 赋值运算符(Assignment Operators)
- 三元运算符(Ternary Operator)
- 类型运算符(Type Operators)
- 字符串运算符(String Operator)
1. 算术运算符
这些运算符用于执行基本的数学运算:
运算符 | 描述 | 示例(a=10, b=5) | 结果 |
---|---|---|---|
+ | 加法 | a + b | 15 |
- | 减法 | a - b | 5 |
* | 乘法 | a * b | 50 |
/ | 除法 | a / b | 2 |
% | 取余 | a % b | 0 |
++ | 自增 | a++ | 11 |
-- | 自减 | a-- | 9 |
2. 关系运算符(比较运算符)
这些运算符用于比较两个值,返回布尔值:
运算符 | 描述 | 示例(a=10, b=5) | 结果 |
---|---|---|---|
> | 大于 | a > b | true |
< | 小于 | a < b | false |
>= | 大于等于 | a >= b | true |
<= | 小于等于 | a <= b | false |
== | 相等(不比较类型) | a == "10" | true |
!= | 不相等 | a != b | true |
=== | 全等(值和类型) | a === "10" | false |
!== | 不全等 | a !== "10" | true |
3. 逻辑运算符
这些运算符用于布尔逻辑运算,通常用于控制流程判断中:
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
&& | 逻辑与 | true && false | false |
|| | 逻辑或 | true || false | true |
! | 逻辑非 | !true | false |
4. 位运算符
位运算符用于按位操作数进行计算,主要用于底层运算或性能优化:
运算符 | 描述 | 示例(a=2, b=3) | 结果 |
---|---|---|---|
& | 与 | a & b | 2 |
| | 或 | a | b | 3 |
^ | 异或 | a ^ b | 1 |
~ | 非 | ~a | -3 |
<< | 左移 | a << 1 | 4 |
>> | 右移 | a >> 1 | 1 |
5. 赋值运算符
这些运算符用于给变量赋值,也支持组合赋值操作:
运算符 | 描述 | 示例 | 等同于 |
---|---|---|---|
= | 赋值 | x = y | |
+= | 加后赋值 | x += y | x = x + y |
-= | 减后赋值 | x -= y | x = x - y |
*= | 乘后赋值 | x *= y | x = x * y |
/= | 除后赋值 | x /= y | x = x / y |
%= | 取余赋值 | x %= y | x = x % y |
6. 三元运算符
?:
三元运算符是一种简洁的条件判断方式:
let result = (a > b) ? "A 大" : "B 大";
7. 类型运算符
你可以使用类型运算符来检查或转换变量的类型:
运算符 | 描述 | 示例 |
---|---|---|
typeof | 返回变量的数据类型 | typeof "Hello" |
instanceof | 检查对象是否是某个类的实例 | obj instanceof MyClass |
8. 字符串运算符
最常用的字符串运算符是 +
,用于连接两个字符串:
let firstName = "Type";
let lastName = "Script";
let fullName = firstName + lastName; // "TypeScript"
你还可以使用模板字符串更优雅地拼接:
let fullName = `${firstName} ${lastName}`;
小结
TypeScript 提供了丰富的运算符支持,从基础的算术运算到类型检查,你都可以用清晰简洁的语法实现复杂的逻辑处理。熟悉这些运算符的用法可以让你的代码更高效、更易读,也有助于你快速掌握语言的核心表达能力。建议你在实际编码中多练习,灵活运用不同类型的运算符来解决问题。