ES10 中运算符的优先级和结合性

阅读时长 5 分钟读完

ES10 中运算符的优先级和结合性

在 JavaScript 中,运算符是一种用于执行算术、逻辑或位操作的符号或特殊关键字。在 ES10 中,引入了一些新的运算符,同时对原有运算符的优先级和结合性进行了修订。在日常编程中,我们需要准确掌握这些运算符的优先级和结合性,以避免出现不必要的错误,提高代码的可读性和可维护性。

下面列出了 ES10 中的运算符,按照优先级从高到低的顺序排列:

运算符 描述 结合性
member expression 成员表达式,用于访问对象的属性和方法 左到右
call expression 函数调用表达式,用于调用一个函数 左到右
new expression 创建一个新对象的实例 左到右
new.target 引用当前正在执行的函数对象的 new.target 属性
super 引用当前对象的父对象
logical NOT 逻辑非,对一个表达式进行取反
unary plus and minus 正负号运算符
typeof 返回一个表示数据类型的字符串
void 对一个表达式进行求值,然后返回 undefined
delete 从一个对象中删除一个属性或方法
instanceof 检测一个对象是否为另一个对象的实例 左到右
in 检测一个属性是否为一个对象的成员 左到右
equality and inequality 相等和不相等运算符 左到右
bitwise shift 位运算符,用于对数字进行位移操作 左到右
less than, greater than等比较 大小比较运算符 左到右
bitwise AND 位与运算符 左到右
bitwise XOR 位异或运算符 左到右
bitwise OR 位或运算符 左到右
logical AND 逻辑与 左到右
logical OR 逻辑或 左到右
conditional 三元运算符,用于基于某个条件选择不同的值或表达式 从右到左
assignment 赋值运算符,用于将一个值赋给一个变量或属性 从右到左
yield 在生成器函数中使用,将一个值返回给迭代器 右到左

在程序执行过程中,当存在多个运算符时,根据优先级和结合性来确定计算顺序。优先级越高的运算符越先计算,结合性的方向决定了计算的结合方式。例如,左结合表示从左到右计算,右结合表示从右到左计算。

下面给出一些示例代码,帮助理解 ES10 中运算符的优先级和结合性:

-- -------------------- ---- -------
-- -----
----
-----
----------

-- -------
------
------
-------------

-- --- ---
--- ------
--- ----------- --------

-- -----
------ -- ---
----- -- ------ -- ---
----- -- ------ -- ---

-- ----
- -- -- -- --
- -- -- -- --
- --- -- -- -----
- - -- -- --
- - -- -- ---
- - -- -- --

-- -----
----- - ----- - ------

-- -----
- - --
- -- --
- -- --
- -- --
- -- --
- -- --
- --- --
- --- --
- ---- --
- -- --
- -- --
- -- --
展开代码

综上所述,掌握 ES10 中运算符的优先级和结合性,是编写高效、简洁 JavaScript 代码必须具备的基本技能之一。正确使用运算符不仅可以避免不必要的错误,而且可以提高代码的可读性和可维护性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67b96a90306f20b3a67c5dd9

纠错
反馈

纠错反馈