TypeScript 运算符---短路运算符、位运算符、赋值运算符、三元运算符、类型运算符、其他运算符
2025年01月08日
298
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。
短路运算符、位运算符、赋值运算符、三元运算符、类型运算符、其他运算符
短路运算符
//短路运算符 && 与 || /* && 与 || 运算符可用于组合表达式。&&运算符只有在左右两个表达式都是true时 才返回true */ var a:number = 10; //如果第一个表达式返回了false,就不在执行后面的判断(a>5跳过计算) 直接返回false var result = ( a<10 && a>5 ); console.log(result); // 如果第一个表达式返回了true,就继续执行第二个表达式,然后综合判断 var result = ( a>5 && a<10 ); console.log(result); var result = ( a>5 || a<10 ); console.log(result);
编译运行:

位运算符
//位运算符
//位操作师程序设计中对位模式按位或二级制数的一元和二元操作
var a:number = 2;//二进制 10
var b:number = 3;//二进制 11
var result;
result = (a & b);
console.log("(a & b) =>", result);
result = (a | b);
console.log(" =>", result);
result = ( a^ b);
console.log("(a | b) =>", result);
result = (~b);
console.log("(~b) =>", result);
result = (a << b);
console.log("(a << b) =>", result);
result = (a >> b);
console.log("(a >> b) =>", result);
result = (a >>> 1);
console.log("(a >>> 1) =>", result);编译运行:

赋值运算符
赋值运算符用于给变量赋值。
给定 x=10 和 y=5,下面的表格解释了赋值运算符:
| 运算符 | 例子 | 实例 | x 值 |
|---|---|---|---|
| = (赋值) | x = y | x = y | x = 5 |
| += (先进行加运算后赋值) | x += y | x = x + y | x = 15 |
| -= (先进行减运算后赋值) | x -= y | x = x - y | x = 5 |
| *= (先进行乘运算后赋值) | x *= y | x = x * y | x = 50 |
| /= (先进行除运算后赋值) | x /= y | x = x / y | x = 2 |
类似的逻辑运算符也可以与赋值运算符联合使用:<<=, >>=, >>>=, &=, |= 与 ^=。
//赋值运算符用于给变量赋值
var a:number = 12;
var b:number = 10;
a = b;
console.log("a=b: ", a);
a += b;
console.log("a+=b: ", a);
a -= b;
console.log("a-=b: ", a);
a *= b;
console.log("a*=b: ", a);
a /= b;
console.log("a/=b: ", a);
a %= b;
console.log("a%b: ", a);编译运行:

三元运算符 (?)
三元运算有 3 个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
Test ? expr1 : expr2
Test − 指定的条件语句
expr1 − 如果条件语句 Test 返回 true 则返回该值
expr2 − 如果条件语句 Test 返回 false 则返回该值
//三元运算符 ? /* 三元运算有3个操作数,并且需要判断布尔表达式的值。 该运算符的主要是决定哪个值应该赋值给变量。 test ? expr1 : expr2 test -- 指定的条件语句 expr1 -- 如果条件语句test返回true 则返回该值 expr2 -- 如果条件语句test返回false 则返回该值 */ var num:number = -2; var result = num > 0 ? "大于 0" : "小于0,或等于 0"; console.log(result);
编译运行:

类型运算符
typeof 运算符
typeof 是一元运算符,返回操作数的数据类型。
//类型运算符 /* typeof 运算符 typeof 是 一元运算符,返回操作数的数据类型 */ var num:number = 12; console.log(typeof num); var str:string = "this is a book!"; console.log(typeof str); var boo:boolean = true; console.log(typeof boo);
编译运行:

其他运算符
//其他运算符
/*
负号运算符(-)
更改操作数的符号
*/
var x:number = 4;
var y = -x;
console.log("x 值为:", x);
console.log("y 值为:", y);
/*
字符串运算符: 连接运算符(+)
+运算符可以拼接两个字符串
*/
var msg:string = "youku"+".com";
console.log(msg);编译运行:

