高阶前端来了!还能玩出新花样的一元运算符你都知道吗?
2023-12-28 09:37:16
一元运算符,顾名思义,只需要一个操作数的运算符。在 JavaScript 中,一元运算符包括 delete、void、typeof、+、-、~和!。这些运算符可以执行各种操作,从删除属性到返回一个值的类型。
1. delete 运算符
delete 运算符用于删除对象的属性。例如,以下代码将删除名为 "name" 的属性:
const person = {
name: "John Doe",
age: 30
};
delete person.name;
删除属性后,该属性将从对象中消失。如果您尝试访问该属性,您将收到一个 undefined。
2. void 运算符
void 运算符用于计算表达式的值,但不返回任何值。例如,以下代码将计算表达式 "1 + 1" 的值,但不返回任何值:
void (1 + 1);
void 运算符通常用于抑制表达式的副作用。例如,以下代码将调用函数 "console.log()",但不输出任何内容:
void console.log("Hello, world!");
3. typeof 运算符
typeof 运算符用于返回一个值的类型。例如,以下代码将返回 "number":
typeof 1;
typeof 运算符可以用于检查值的类型,并根据类型执行不同的操作。例如,以下代码将检查变量 "x" 的类型,如果是数字,则将其加 1,否则保持不变:
const x = 1;
if (typeof x === "number") {
x++;
}
4. + 运算符
- 运算符用于将两个数字相加。例如,以下代码将输出 3:
console.log(1 + 2);
- 运算符还可以用于将字符串连接起来。例如,以下代码将输出 "Hello, world!":
console.log("Hello" + " " + "world!");
5. - 运算符
- 运算符用于将两个数字相减。例如,以下代码将输出 -1:
console.log(1 - 2);
- 运算符还可以用于取一个数字的负值。例如,以下代码将输出 -1:
console.log(-1);
6. ~ 运算符
~ 运算符用于取一个数字的按位非值。例如,以下代码将输出 -2:
console.log(~1);
按位非值是将数字的二进制位逐个取反。例如,1 的二进制位是 00000001,按位非值是 11111110,转换为十进制就是 -2。
7. ! 运算符
! 运算符用于取一个值的逻辑非值。例如,以下代码将输出 false:
console.log(!true);
逻辑非值是将一个值取反。例如,true 的逻辑非值是 false,false 的逻辑非值是 true。
一元运算符是 JavaScript 中非常强大的工具,可以执行各种操作。通过理解这些运算符的工作原理,您可以编写出更简洁、更有效的代码。