📜  5.3.2.运算符优先级 - Javascript (1)

📅  最后修改于: 2023-12-03 14:59:05.571000             🧑  作者: Mango

5.3.2. 运算符优先级 - JavaScript

在 JavaScript 中,运算符优先级决定了表达式中各个运算符的执行顺序。当一个表达式中包含多个运算符时,优先级高的运算符会先执行。如果多个运算符具有相同的优先级,则它们的执行顺序由它们在表达式中的位置决定。

以下是 JavaScript 中常见的运算符优先级列表,按从高到低的顺序排列:

1. () - 优先级最高的运算符

括号(())用于改变运算符的优先级顺序。表达式中的内容会首先计算在括号中的部分。

例如:

var result = (2 + 3) * 4; // 结果为 20,先计算括号中的部分 (2 + 3),再乘以 4
2. **, *, /, %

指数运算符(**)以及乘法运算符(*)、除法运算符(/)、取模运算符(%)具有相同的优先级,从左向右进行计算。

例如:

var result = 2 + 3 * 4; // 结果为 14,先计算乘法部分 3 * 4,再加上 2
3. +, -

加法运算符(+)和减法运算符(-)具有相同的优先级,从左向右进行计算。

例如:

var result = 2 + 3 - 1; // 结果为 4,先计算加法部分 2 + 3,再减去 1
4. <, >, <=, >=, instanceof

比较运算符(<、>、<=、>=)以及 instanceof 运算符具有相同的优先级,从左向右进行计算。

例如:

var result = 5 > 3 instanceof Boolean; // 结果为 false,先计算 5 > 3,再判断其结果是否为 Boolean 类型
5. ==, !=, ===, !==

相等运算符(==、!=)以及严格相等运算符(===、!==)具有相同的优先级,从左向右进行计算。

例如:

var result = 5 == "5" === true; // 结果为 false,先比较不严格相等运算符,然后再比较严格相等运算符
6. &&

逻辑与运算符(&&)的优先级比前面的运算符低,从左向右进行计算。

例如:

var result = true && false || true; // 结果为 true,先计算 && 运算符,再计算 || 运算符
7. ||

逻辑或运算符(||)的优先级比前面的运算符低,从左向右进行计算。

例如:

var result = true && false || true; // 结果为 true,先计算 && 运算符,再计算 || 运算符
8. ? :

条件运算符(? :)也被称为三元运算符,它是 JavaScript 中唯一的一个具有右结合性的运算符。

例如:

var result = true ? "Yes" : "No"; // 结果为 "Yes",根据条件 true 返回不同的结果

以上是一些常见的运算符和它们在 JavaScript 中的优先级顺序。了解运算符优先级可以帮助程序员编写更清晰和易于理解的代码。