一、TypeScript 运算符
TypeScript 运算符是用于在 TypeScript(一个 JavaScript 的超集)代码中执行各种操作(如算术运算、比较、赋值等)的符号。这些运算符与 JavaScript 中的运算符非常相似,因为 TypeScript 旨在编译为 JavaScript。
以下是一些 TypeScript(和 JavaScript)中常见的运算符分类:
-
算术运算符:
+
(加法)-
(减法)*
(乘法)/
(除法)%
(取余)**
(乘方,ES2016+)++
(自增)--
(自减)
-
赋值运算符:
=
(赋值)+=
(加等于)-=
(减等于)*=
(乘等于)/=
(除等于)%=
(取余等于)**=
(乘方等于,ES2016+)<<=
(左移等于)>>=
(有符号右移等于)>>>=
(无符号右移等于)&=
(按位与等于)^=
(按位异或等于)|=
(按位或等于)
-
比较运算符:
==
(等于)===
(严格等于)!=
(不等于)!==
(严格不等于)>
(大于)<
(小于)>=
(大于或等于)<=
(小于或等于)in
(检查对象是否包含某个属性)instanceof
(检查对象是否是某个类的实例)
-
逻辑运算符:
&&
(逻辑与)||
(逻辑或)!
(逻辑非)
-
位运算符:
&
(按位与)|
(按位或)^
(按位异或)~
(按位非)<<
(左移)>>
(有符号右移)>>>
(无符号右移)
-
条件(三元)运算符:
? :
(条件运算符)
- 字符串运算符:
+
(当用于字符串时,它作为连接符)
-
类型运算符(仅 TypeScript):
typeof
(获取变量类型)instanceof
(与 JavaScript 中的用法相同,但在 TypeScript 中有更多类型检查的含义)keyof
(获取对象类型的所有键的类型)
-
指数运算符(ES2016+):
**
(乘方)
-
展开运算符(ES2015+):
...
(用于数组和对象的展开)
在 TypeScript 中,你还可以使用这些运算符与类型系统结合,例如使用类型守卫(type guards)来在运行时检查类型,或者使用类型别名(type aliases)和交叉类型(intersection types)来定义更复杂的类型。