4.JavaScript运算符

156 阅读5分钟

运算符

JavaScript中有几种类型的运算符,包括:

  • 算术运算符:这些运算符对数字执行算术运算,例如加法(+)、减法(-)、乘法(*)和除法(/)。
  • 比较运算符:这些运算符比较两个值,并根据比较返回一个布尔值,例如等于 (==), 不等于 (! =), 大于(>)和小于(<)。
  • 逻辑运算符:这些运算符执行逻辑运算,例如: 与 (&&), 或 (||), 非(!)。
  • 赋值运算符:这些运算符为变量赋值,例如相等(=)、加法赋值 (+=), 和减法赋值(-=)。
  • 条件(三元)运算符:此运算符用于执行条件运算,其中根据给定条件分配值。它写成问号​?​后跟冒号​:
  • 扩展运算符:此运算符用于将数组的元素或对象的元素扩展到需要多个元素或变量的地方。它写成三个点(...)
  • 剩余运算符:此运算符将多个元素或变量收集到一个数组中。它写为三个点(...),前面有一个省略号
  • 一元运算符对单个操作数进行操作,例如否定(-)和增量(++)
  • 二元运算符:这些运算符对两个操作数进行操作:加法(+)和减法(-)

Javascript中的算术运算符

在JavaScript中,有几个算术运算符可用于对数字执行算术运算:

  • 加法(+):此运算符将两个数字相加。
  • 减法(-):此运算符从一个数字中减去另一个数字。
  • 乘法(*):此运算符将两个数字相乘。
  • 除法(/):此运算符将一个数字除以另一个数字。
  • 模(%):此运算符返回一个数字除以另一个数字的余数
  • 增量 (++): 此运算符将数字增加一个。
  • 递减 (--): 此运算符将数字递减1。

以下是如何在JavaScript中使用这些运算符的示例:

let x = 5;
let y = 2;

console.log(x + y); // 7
console.log(x - y); // 3
console.log(x * y); // 10
console.log(x / y); // 2.5
console.log(x % y); // 1

x++;
console.log(x); // 6

y--;
console.log(y); // 1

Javascript中的比较运算符

在JavaScript中,可以使用几个比较运算符来比较两个值并根据比较返回一个布尔值:

  • 等于 (==): 如果运算符两边的值相等,则此运算符返回true。
  • 不等于 (!=): 如果运算符两边的值不相等,则此运算符返回true
  • 严格等于 (===): 如果运算符两边的值相等并且具有相同的类型,则此运算符返回true
  • 严格不等于 (!==): 如果运算符两侧的值不相等或类型不相同,则此运算符返回true。
  • 大于(>):如果运算符左侧的值大于右侧的值,则此运算符返回true
  • 小于(<):如果运算符左侧的值小于右侧的值,则此运算符返回true。
  • 大于或等于 (>=): 如果运算符左侧的值大于或等于右侧的值,则此运算符返回true。
  • 小于或等于 (<=): 如果运算符左侧的值小于或等于右侧的值,则此运算符返回true。

以下是如何在JavaScript中使用这些运算符的示例:

let x = 5;
let y = '5';

console.log(x == y); // true
console.log(x != y); // false
console.log(x === y); // false
console.log(x !== y); // true
console.log(x > y); // false
console.log(x < y); // false
console.log(x >= y); // true
console.log(x <= y); // true

Javascript中的逻辑运算符

在JavaScript中,可以使用三个逻辑运算符来执行逻辑操作:

  • 与(&&): 如果运算符两边的值都为true,则此运算符返回true
  • 或(||): 如果运算符两侧的值为true,则此运算符返回true。
  • 非(!):此运算符返回与布尔值相反的值。如果值为true,则返回false。如果值为false,则返回true。

以下是如何在JavaScript中使用这些运算符的示例:

let x = true;
let y = false;

console.log(x && y); // false
console.log(x || y); // true
console.log(!x); // false
console.log(!y); // true

逻辑运算符通常与比较运算符和/或其他逻辑运算符结合使用,以创建复杂的布尔表达式

Javascript中的赋值运算符

在JavaScript中,可以使用几个赋值操作符为变量赋值:

  • 变量赋值(=):此运算符为变量赋值。

  • 加法赋值 (+=): 此运算符将值添加到变量并将结果分配给该变量。

  • 减法赋值 (-=): 此运算符从变量中减去一个值并将结果分配给该变量。

  • 乘法赋值 (*=): 此运算符将变量乘以值并将结果赋值给变量。

  • 除法赋值 (/=): 此运算符将变量除以值并将结果分配给变量。

  • 模赋值 (%=): 此运算符将变量除以值的剩余部分赋值给变量。

这是如何在JavaScript中使用这些运算符的示例:

let x = 5;
let y = 2;

x += y;
console.log(x); // 7

x -= y;
console.log(x); // 5

x *= y;
console.log(x); // 10

x /= y;
console.log(x); // 5

x %= y;
console.log(x); // 1

赋值运算符通常用于简洁地更新变量的值。例如,代码​x += y​等价于​x = x + y​。

JavaScript条件(三元)运算符

在JavaScript中,条件(三元)运算符是执行条件运算的简写方式,其中根据给定条件分配值。它被写成问号​?​后跟冒号​:​。

以下是条件运算符的语法:

condition ? value1 : value2

如果condition​为true,运算符返回value1​。如果​condition​为false,运算符返回value2​。

以下是如何在JavaScript中使用条件运算符的示例:

let x = 5;
let y = 2;

let max = (x > y) ? x : y;
console.log(max); // 5

在此示例中,条件运算符比较​x​和​y​的值,并将较大的值分配给​max​变量。如果​x​大于​y​,则为​max​分配​x​的值。如果​y​大于​x​,则为max分配​y​的值

条件运算符通常用作编写if-else语句的简写方式。例如,上面的代码等价于以下if-else语句:

let x = 5;
let y = 2;

let max;
if (x > y) {
  max = x;
} else {
  max = y;
}
console.log(max); // 5

JavaScript扩展运算符

在JavaScript中,扩展运算符(写成三个点:…)用于将数组或对象的元素扩展到需要多个元素或变量的地方。

以下是如何将扩展运算符与数组一起使用的示例:

let numbers = [1, 2, 3];

console.log(...numbers); // 1 2 3

let moreNumbers = [4, 5, 6];

let allNumbers = [...numbers, ...moreNumbers];
console.log(allNumbers); // [1, 2, 3, 4, 5, 6]

function sum(x, y, z) {
  return x + y + z;
}

console.log(sum(...numbers)); // 6

在此示例中,扩展运算符用于将​numbers​数组的元素扩展到预期有多个元素的地方。它还用于将两个数组组合成一个数组。

扩展运算符也可以用于对象,如下所示:

let person = {
  name: 'John',
  age: 30
};

let newPerson = {
  ...person,
  gender: 'male'
};
console.log(newPerson); // { name: 'John', age: 30, gender: 'male' }

在此示例中,扩展运算符用于创建一个包含person​对象的所有属性和附加属性的新对象。

扩展运算符是在JavaScript中处理数组和对象的有用工具。它可用于基于现有数组或对象创建新的数组或对象,或者将数组或对象的元素扩展到需要多个元素或变量的地方。

JavaScript剩余运算符

在JavaScript中,剩余运算符(写成三个点:…前面有一个省略号)用于将多个元素或变量收集到一个数组中

以下是如何在函数定义中使用剩余运算符的示例:

function sum(...numbers) {
  let result = 0;
  for (let number of numbers) {
    result += number;
  }
  return result;
}

console.log(sum(1, 2, 3, 4, 5)); // 15

在此示例中,剩余运算符将传递给sum​ 函数的所有参数收集到一个名为numbers​ 的数组中。然后,该函数遍历numbers​ 数组并计算元素的总和。

剩余运算符也可用于解构赋值:

let numbers = [1, 2, 3, 4, 5];

let [first, second, ...others] = numbers;

console.log(first); // 1
console.log(second); // 2
console.log(others); // [3, 4, 5]

在此示例中,剩余运算符用于将​numbers​数组的前两个元素分配给​first​和​second​变量,并将其余元素分配给​others​数组。

剩余运算符是在JavaScript中处理数组的有用工具。它允许您将多个元素或变量收集到一个数组中,并将它们作为一个实体使用。

Javascript中的一元运算符

在JavaScript中,一元操作符是对单个操作数进行操作的操作符。JavaScript中有几个一元操作符,包括:

  • 否定(-):此运算符否定一个数值。例如,5​ 否定值5并返回-5。
  • 增量 (++): 此运算符将数值增加1。例如,x++​将x​ 的值增加1。
  • 递减 (--): 此运算符将数值减少1。例如,x--​ 将x​ 的值减少1
  • 逻辑非(!):此运算符否定布尔值。例如,​!true​返回false,​!false​返回true。
  • 类型Typeof:此运算符返回一个表示值类型的字符串。例如,typeof 5​返回'number',typeof 'hello'​返回'string'

以下是如何在JavaScript中使用这些运算符的示例:

let x = 5;

console.log(-x); // -5

console.log(x++); // 5
console.log(x); // 6

console.log(x--); // 6
console.log(x); // 5

console.log(!true); // false
console.log(!false); // true

console.log(typeof 5); // 'number'
console.log(typeof 'hello'); // 'string'

Javascript中的二进制运算符

在JavaScript中,二元运算符对两个操作数进行操作。JavaScript中有几个二元运算符,包括:

  • 加法(+):此运算符将两个数值相加。例如,5 + 2​返回7。
  • 减法(-):此运算符从另一个数值中减去一个数值。例如,​5 - 2​返回3。
  • 乘法(**):此运算符将两个数值相乘。例如,*​5 * 2​返回10
  • 模(%):此运算符返回一个数值除以另一个数值的余数。例如,​5 % 2​返回1。
  • 幂运算: 此运算符将数值提升为幂。例如,​5 ** 2​返回25
  • 字符串连接(+):此运算符连接两个字符串。例如,'hello' + 'world'​ 返回'helloworld'。
  • 比较 (==,!=, ===,!==, >, <, >=, <=): 这些运算符比较两个值并根据比较返回一个布尔值。

以下是如何在JavaScript中使用这些运算符的示例:

let x = 5;
let y = 2;

console.log(x + y); // 7
console.log(x - y); // 3
console.log(x * y); // 10
console.log(x / y); // 2.5
console.log(x % y); // 1
console.log(x ** y); // 25

let s1 = 'hello';
let s2 = 'world';

console.log(s1 + s2); // 'helloworld'

console.log(x == y); // false
console.log(x != y); // true
console.log(x === y); // false
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

Javascript中的逗号运算符

在JavaScript中,逗号运算符(,)用于在单个语句中分隔多个表达式。从左到右计算表达式,并返回最后一个表达式的值。

以下是如何在JavaScript中使用逗号运算符的示例:

let x = 5;
let y = 2;

let result = (x++, y++, x + y);

console.log(result); // 9

在此示例中,逗号运算符分隔三个表达式:​x++​、​y++​和​x + y​。前两个表达式将​x​和​y​的值增加一个,第三个表达式计算​x​和​y​的总和。第三个表达式的值9作为整体表达式的结果返回。

逗号运算符可以在需要单个表达式的地方包含多个表达式,例如if语句或循环。但是,通常认为最好避免使用逗号运算符,而是使用单独的语句或将多个表达式组合成一个使用括号的表达式。