TypeScript 运算符
TypeScript 是 JavaScript 的一个超集,它添加了类型系统和其他特性,但基本的运算符与 JavaScript 相同。以下是一些常见的 TypeScript 运算符:
算术运算符
+:加法
-:减法
*:乘法
/:除法
%:取余
** 指数(ES6 新增)
let a: number = 10; let b: number = 3; console.log(a + b); // 13 console.log(a - b); // 7 console.log(a * b); // 30 console.log(a / b); // 3.3333 console.log(a % b); // 1 console.log(3 ** 4); // 81
赋值运算符
= 简单赋值
+= 加后赋值
-= 减后赋值
*= 乘后赋值
/= 除后赋值
%= 取余后赋值
**= 指数后赋值(ES6 新增)
let x = 5; let y = 3; let z = 2; x += 1; y -= 1; z *= 2; x /= 2; y %= 3; z **= 3;
比较运算符
== 等于(类型转换后比较)
=== 全等(类型和值都相同)
!= 不等于
!== 不全等
> 大于
< 小于
>= 大于等于
<= 小于等于
let x: number = 8; let y: number = 3; console.log(x == y); // false console.log(x === y); // false console.log(x != y); // true console.log(x !== y); // true console.log(x > y); // true console.log(x < y); // false console.log(x >= y); // true console.log(x <= y); // false
逻辑运算符
&&:逻辑与
||:逻辑或
!:逻辑非
let x: boolean = true; let y: boolean = false; console.log(x && y); // false console.log(x || y); // true console.log(!x); // false
位运算符
&:按位与
|:按位或
^:按位异或
~:按位取反
<<:左移
>>:带符号右移
>>>:无符号右移
let num1: number = 7; // 二进制为111 let num2: number = 3; // 二进制为011 console.log(num1 & num2); // 3 (011) console.log(num1 | num2); // 7 (111) console.log(num1 ^ num2); // 4 (100) console.log(~num1); // -8 (~00000111 => 11111000) console.log(num1 << 1); // 14 (1110) console.log(num1 >> 1); // 3 (11) console.log(num1 >>> 1); // 3 (11)
其他运算符
?::条件运算符(三元运算符)
typeof:返回变量的数据类型
instanceof:判断一个对象是否是某个类的实例
delete 运算符 用于删除对象的属性
in 运算符 用于检查对象是否含有某个属性
new 运算符 用于创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型的实例
class Person {
name: string;
age: number;
job: string
constructor(name: string, age: number, job: string) {
this.name = name;
this.age = age;
this.job = job;
}
sayHello() {
console.log(`Hello, my name is ${this.name}`);
}
}
let obj = new Person("Jerry", 24, "teacher");
let ageStatus: string = (obj.age >= 18) ? '成年人' : '未成年人';
console.log(ageStatus); // 成年人
console.log(typeof obj ); // object
console.log(obj instanceof Person ); // true
console.log("name" in obj); // true
console.log("sex" in obj); // false
console.log(delete obj.name); // true
console.log(obj.name); // undefined这些运算符在 TypeScript 中的使用与 JavaScript 中相同,但 TypeScript 通过类型系统提供了额外的类型检查和编码时的安全性。