JavaScript各符号优先级

JavaScript是一种广泛应用于Web开发的脚本语言,它具有丰富的符号和操作符。在编写JavaScript代码时,我们需要了解这些符号的优先级,以确保代码的正确执行顺序。本文将介绍JavaScript中各符号的优先级,并提供相应的代码示例。

1. 算术运算符优先级

在JavaScript中,算术运算符的优先级从高到低依次为:

  1. 括号:() 表示优先执行括号内的表达式。
let result = (2 + 3) * 4; // 20
  1. 乘法和除法:*/ 表示乘法和除法运算。
let result = 2 + 3 * 4; // 14
  1. 加法和减法:+- 表示加法和减法运算。
let result = 2 + 3 - 4; // 1

2. 比较运算符优先级

在JavaScript中,比较运算符的优先级从高到低依次为:

  1. 大于、小于、大于等于和小于等于:><>=<= 表示比较运算。
let result = 2 + 3 > 4 - 1; // true
  1. 相等和不相等:==!= 表示相等和不相等运算。
let result = 2 + 3 == 4 - 1; // true
  1. 全等和不全等:===!== 表示严格相等和不全等运算。
let result = 2 + 3 === "5"; // false

3. 逻辑运算符优先级

在JavaScript中,逻辑运算符的优先级从高到低依次为:

  1. 逻辑非:! 表示取反运算。
let result = !(2 + 3 > 4 - 1); // false
  1. 逻辑与:&& 表示逻辑与运算。
let result = (2 + 3 > 4 - 1) && (5 + 1 == 6); // true
  1. 逻辑或:|| 表示逻辑或运算。
let result = (2 + 3 > 4 - 1) || (5 + 1 == 7); // true

4. 赋值运算符优先级

在JavaScript中,赋值运算符的优先级从高到低依次为:

  1. 复合赋值运算符:+=-=*=/= 表示复合赋值运算。
let x = 2;
x += 3; // 相当于 x = x + 3;
  1. 简单赋值运算符:= 表示简单赋值运算。
let x = 2;
x = 3;

甘特图

下面是一个使用甘特图示例来说明各符号的优先级和执行顺序。

gantt
    dateFormat  YYYY-MM-DD
    title JavaScript符号优先级
    section 算术运算
    括号       :2022-01-01, 2d
    乘法和除法 :2022-01-03, 2d
    加法和减法 :2022-01-05, 2d
    section 比较运算
    大于等于   :2022-01-07, 2d
    不相等     :2022-01-09, 2d
    全等       :2022-01-11, 2d
    section 逻辑运算
    逻辑非     :2022-01-13, 2d
    逻辑与     :2022-01-15, 2d
    逻辑或     :2022-01-17, 2d
    section 赋值运算
    复合赋值