📅  最后修改于: 2023-12-03 15:35:52.067000             🧑  作者: Mango
在 JavaScript 中,一元运算符是只有一个操作数的运算符。一元运算符可以用于数学计算、类型转换和递增/递减操作。下面是一些常见的一元运算符及其使用方法。
递增运算符(++)使操作数的值增加 1,并返回操作数的值。递增运算符可以在变量前面或后面使用,有不同的效果。
let num = 1;
num++; // 返回1, num的值变成2
++num; // 返回3, num的值是3
递减运算符(--)使操作数的值减少 1,并返回操作数的值。递减运算符可以在变量前面或后面使用,有不同的效果。
let num = 3;
num--; // 返回3, num的值变成2
--num; // 返回1, num的值是1
逻辑非运算符(!)用于将运算数转换为布尔类型,并返回其反转的值。
let bool = true;
!bool; // 返回false
typeof 运算符用于返回操作数的数据类型。
typeof 'foo'; // 返回"string"
delete 运算符用于删除对象的属性或数组的元素。
let obj = {name: 'foo', age: 18};
delete obj.age; // 删除obj的age属性
按位运算符将数字和逻辑位进行操作。这些运算符可以将整数转换为二进制数并对其进行操作,然后将结果转换回十进制数。按位运算符只能用于整数类型。
按位非运算符(~)使操作数的每个位按位取反。换句话说,0 和 1 互换,-1 和 0 互换,依此类推。
let num = 5; // 二进制表示为 101
~num; // 返回-6, 二进制表示为 11111010
按位与运算符(&)比较其两个操作数的每个位,如果两个操作数的相应位都是 1,则该位的结果为 1;否则,该位的结果为 0。
let num1 = 5; // 二进制表示为 101
let num2 = 3; // 二进制表示为 011
num1 & num2; // 返回1, 二进制表示为 001
按位或运算符(|)比较其两个操作数的每个位,如果两个操作数的相应位都是 0,则该位的结果为 0;否则,该位的结果为 1。
let num1 = 5; // 二进制表示为 101
let num2 = 3; // 二进制表示为 011
num1 | num2; // 返回7, 二进制表示为 111
按位异或运算符(^)比较其两个操作数的每个位,如果两个操作数的相应位不相同,则该位的结果为 1;否则,该位的结果为 0。
let num1 = 5; // 二进制表示为 101
let num2 = 3; // 二进制表示为 011
num1 ^ num2; // 返回6, 二进制表示为 110
一元运算符是 JavaScript 中非常常见和有用的运算符。它们可以用于数学运算、类型转换和递增/递减操作。熟练掌握这些运算符是编写高质量 JavaScript 代码的必备技能之一。