• 【Java 进阶篇】JavaScript二元运算符详解


    在这里插入图片描述

    JavaScript是一门多用途的编程语言,它支持各种运算符,包括二元运算符。二元运算符用于执行两个操作数之间的操作,这两个操作数通常是变量、值或表达式。在本篇博客中,我们将详细探讨JavaScript的二元运算符,包括它们的种类、用法以及示例。

    什么是二元运算符

    在JavaScript中,二元运算符是一种需要两个操作数的运算符。操作数可以是变量、值或表达式,它们之间的操作由运算符决定。JavaScript中有许多不同的二元运算符,涵盖了各种数学、逻辑和比较操作。

    算术运算符

    算术运算符用于执行数学运算,包括加法、减法、乘法、除法和取模等操作。以下是JavaScript中常见的算术运算符:

    • 加法(+):用于将两个数相加。
    let sum = 5 + 3; // sum 的值是 8
    
    • 1
    • 减法(-):用于将一个数减去另一个数。
    let difference = 10 - 4; // difference 的值是 6
    
    • 1
    • 乘法(*):用于将两个数相乘。
    let product = 6 * 7; // product 的值是 42
    
    • 1
    • 除法(/):用于将一个数除以另一个数。
    let quotient = 20 / 4; // quotient 的值是 5
    
    • 1
    • 取模(%):用于获取一个数除以另一个数的余数。
    let remainder = 10 % 3; // remainder 的值是 1
    
    • 1
    • 自增(++):用于将一个变量的值增加1。
    let x = 5;
    x++; // 等同于 x = x + 1;
    // 现在 x 的值是 6
    
    • 1
    • 2
    • 3
    • 自减(–):用于将一个变量的值减少1。
    let y = 8;
    y--; // 等同于 y = y - 1;
    // 现在 y 的值是 7
    
    • 1
    • 2
    • 3

    赋值运算符

    赋值运算符用于将右侧的值分配给左侧的变量。JavaScript中的常见赋值运算符包括:

    • 赋值(=):将右侧的值赋给左侧的变量。
    let a = 10;
    
    • 1
    • 加法赋值(+=):将右侧的值与左侧的变量相加,并将结果赋给左侧的变量。
    let b = 5;
    b += 3; // 等同于 b = b + 3;
    // 现在 b 的值是 8
    
    • 1
    • 2
    • 3
    • 减法赋值(-=):将右侧的值从左侧的变量中减去,并将结果赋给左侧的变量。
    let c = 7;
    c -= 2; // 等同于 c = c - 2;
    // 现在 c 的值是 5
    
    • 1
    • 2
    • 3
    • 乘法赋值(*=):将右侧的值与左侧的变量相乘,并将结果赋给左侧的变量。
    let d = 4;
    d *= 6; // 等同于 d = d * 6;
    // 现在 d 的值是 24
    
    • 1
    • 2
    • 3
    • 除法赋值(/=):将左侧的变量除以右侧的值,并将结果赋给左侧的变量。
    let e = 30;
    e /= 3; // 等同于 e = e / 3;
    // 现在 e 的值是 10
    
    • 1
    • 2
    • 3
    • 取模赋值(%=):将左侧的变量除以右侧的值的余数,并将结果赋给左侧的变量。
    let f = 13;
    f %= 5; // 等同于 f= f % 5;
    // 现在 f 的值是 3
    
    • 1
    • 2
    • 3

    比较运算符

    比较运算符用于比较两个值,并返回一个布尔值(true或false)。以下是JavaScript中常见的比较运算符:

    • 相等(==):用于检查两个值是否相等。如果值相等,则返回true,否则返回false。
    let isEqual = 5 == 5; // isEqual 的值是 true
    
    • 1
    • 不相等(!=):用于检查两个值是否不相等。如果值不相等,则返回true,否则返回false。
    let isNotEqual = 3 != 8; // isNotEqual 的值是 true
    
    • 1
    • 全等(===):用于检查两个值是否全等,包括值和数据类型。如果值和数据类型都相等,则返回true,否则返回false。
    let isStrictEqual = 5 === "5"; // isStrictEqual 的值是 false
    
    • 1
    • 不全等(!==):用于检查两个值是否不全等。如果值或数据类型不相等,则返回true,否则返回false。
    let isNotStrictEqual = 10 !== "10"; // isNotStrictEqual 的值是 true
    
    • 1
    • 大于(>):用于检查一个值是否大于另一个值。如果第一个值大于第二个值,则返回true,否则返回false。
    let isGreaterThan = 15 > 8; // isGreaterThan 的值是 true
    
    • 1
    • 小于(<):用于检查一个值是否小于另一个值。如果第一个值小于第二个值,则返回true,否则返回false。
    let isLessThan = 3 < 7; // isLessThan 的值是 true
    
    • 1
    • 大于或等于(>=):用于检查一个值是否大于或等于另一个值。如果第一个值大于或等于第二个值,则返回true,否则返回false。
    let isGreaterOrEqual = 20 >= 20; // isGreaterOrEqual 的值是 true
    
    • 1
    • 小于或等于(<=):用于检查一个值是否小于或等于另一个值。如果第一个值小于或等于第二个值,则返回true,否则返回false。
    let isLessOrEqual = 5 <= 4; // isLessOrEqual 的值是 false
    
    • 1

    逻辑运算符

    逻辑运算符用于执行逻辑操作,通常用于布尔值。以下是JavaScript中常见的逻辑运算符:

    • 逻辑与(&&):用于同时检查两个条件是否都为true。如果两个条件都为true,则返回true,否则返回false。
    let isBothTrue = true && true; // isBothTrue 的值是 true
    
    • 1
    • 逻辑或(||):用于检查两个条件中是否至少有一个为true。如果至少有一个条件为true,则返回true,否则返回false。
    let isEitherTrue = true || false; // isEitherTrue 的值是 true
    
    • 1
    • 逻辑非(!):用于反转条件的值。如果条件为true,则返回false;如果条件为false,则返回true。
    let isNotTrue = !true; // isNotTrue 的值是 false
    
    • 1

    位运算符

    位运算符用于操作变量的二进制位。它们通常用于处理数字的底层二进制表示。以下是JavaScript中常见的位运算符:

    • 按位与(&):用于将两个数的二进制位进行按位与操作。
    let bitwiseAnd = 5 & 3; // bitwiseAnd 的值是 1
    
    • 1
    • 按位或(|):用于将两个数的二进制位进行按位或操作。
    let bitwiseOr = 5 | 3; // bitwiseOr 的值是 7
    
    • 1
    • 按位异或(^):用于将两个数的二进制位进行按位异或操作。
    let bitwiseXor = 5 ^ 3; // bitwiseXor 的值是 6
    
    • 1
    • 按位非(~):用于将一个数的二进制位进行按位非操作,将0变为1,将1变为0。
    let bitwiseNot = ~5; // bitwiseNot 的值是 -6
    
    • 1
    • 左移(<<):用于将一个数的二进制位向左移动指定数量的位数。
    let leftShift = 4 << 2; // leftShift 的值是 16
    
    • 1
    • 右移(>>):用于将一个数的二进制位向右移动指定数量的位数。
    let rightShift = 16 >> 2; // rightShift 的值是 4
    
    • 1
    • 无符号右移(>>>):用于将一个数的二进制位向右移动指定数量的位数,但不保留符号位。
    let unsignedRightShift = -1 >>> 1; // unsignedRightShift 的值是 2147483647
    
    • 1

    条件运算符

    条件运算符(也称为三元运算符)用于根据条件的结果选择不同的值。它的语法是 condition ? expr1 : expr2,其中 condition 是一个条件表达式,如果条件为true,则返回 expr1 的值,否则返回 expr2 的值。

    let age = 20;
    let message = age >= 18 ? "成年人" : "未成年人";
    // message 的值是 "成年人"
    
    • 1
    • 2
    • 3

    运算符的优先级

    在JavaScript中,不同类型的运算符有不同的优先级。如果表达式中有多个运算符,它们将按照一定的顺序执行。以下是一些常见运算符的优先级,从高到低:

    1. 小括号 ():用于分组表达式,具有最高优先级。
    2. 递增/递减运算符 ++--:紧随括号后,具有高优先级。
    3. 一元运算符 +-!~:紧随递增/递减运算符,具有高优先级。
    4. 乘法、除法、取模 */%:从左到右具有中等优先级。
    5. 加法和减法 +-:从左到右具有较低优先级。
    6. 位移运算符 <<>>>>>:从左到右具有较低优先级。
    7. 按位与 &:从左到右具有较低优先级。
    8. 按位异或 ^:从左到右具有较低优先级。
    9. 按位或 |:从左到右具有较低优先级。
    10. 比较运算符 <><=>=:从左到右具有较低优先级。
    11. 相等运算符 ==!====!==:从左到右具有较低优先级。
    12. 逻辑与 &&:从左到右具有较低优先级。
    13. 逻辑或 ||:从左到右具有较低优先级。
    14. 三元条件运算符 ? ::从右到左具有较低优先级。
    15. 赋值运算符 =+=-= 等:从右到左具有最低优先级。

    示例代码

    下面是一些示例代码,演示了JavaScript中二元运算符的用法:

    // 算术运算符示例
    let addition = 5 + 3; // 8
    let subtraction = 10 - 4; // 6
    let multiplication = 6 * 7; // 42
    let division = 20 / 4; // 5
    let modulus = 10 % 3; // 1
    let increment = 5;
    increment++; // 6
    let decrement = 8;
    decrement--; // 7
    
    // 赋值运算符示例
    let assign = 10; // 10
    assign += 3; // 13
    assign -= 2; // 11
    assign *= 6; // 66
    assign /= 3; // 22
    assign %= 5; // 2
    
    // 比较运算符
    let isEqual = 5 == 5; // true
    let isNotEqual = 3 != 8; // true
    let isStrictEqual = 5 === "5"; // false
    let isNotStrictEqual = 10 !== "10"; // true
    let isGreaterThan = 15 > 8; // true
    let isLessThan = 3 < 7; // true
    let isGreaterOrEqual = 20 >= 20; // true
    let isLessOrEqual = 5 <= 4; // false
    
    // 逻辑运算符示例
    let logicalAnd = true && true; // true
    let logicalOr = true || false; // true
    let logicalNot = !true; // false
    
    // 位运算符示例
    let bitwiseAnd = 5 & 3; // 1
    let bitwiseOr = 5 | 3; // 7
    let bitwiseXor = 5 ^ 3; // 6
    let bitwiseNot = ~5; // -6
    let leftShift = 4 << 2; // 16
    let rightShift = 16 >> 2; // 4
    let unsignedRightShift = -1 >>> 1; // 2147483647
    
    // 条件运算符示例
    let age = 20;
    let message = age >= 18 ? "成年人" : "未成年人"; // "成年人"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    结论

    JavaScript的二元运算符是执行各种操作的重要工具。它们包括算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符和条件运算符。了解如何正确使用这些运算符对于编写有效的JavaScript代码至关重要。

    希望这篇博客对您有所帮助,让您更好地理解JavaScript中的二元运算符以及它们的用法。如果您对JavaScript有更多疑问,可以继续学习更多关于这门强大编程语言的知识。

    作者信息

    作者 : 繁依Fanyi
    CSDN: https://techfanyi.blog.csdn.net
    掘金:https://juejin.cn/user/4154386571867191
  • 相关阅读:
    Spring5框架学习笔记(四)
    JavaWeb过滤器(Filter)详解,是时候该把过滤器彻底搞懂了(万字说明)
    服务器往浏览器推消息(SSE)应用
    【02】基础知识:React - jsx语法规则
    CentOS、Docker安装RabbitMQ,常用命令,web管理插件
    网站如何有效防止网络攻击
    fplan-Powerplan实例
    Go 匿名函数与闭包
    【数据结构】栈和队列的模拟实现
    4 -25
  • 原文地址:https://blog.csdn.net/qq_21484461/article/details/133800536