运算符概述


JavaScript 中的运算符可用于算术表达式、比较表达式、逻辑表达式、赋值表达式等:

JavaScript运算符

操作数的个数

运算符可以根据操作数的个数进行分类,大部分是二元运算符(两个操作数,如加减乘除),还有一元运算符(如++、--),以及三元运算符(?:)。

操作数类型和结果类型

运算符通常会根据需要对操作数进行类型转换,如 "3"*"5" 是合法的,有一些运算符对操作数类型有着不同程度依赖,比如 + 作用于数字就是加法操作,作用于字符串则是起到连接作用;同理 < 作用于数字用于比较数字大小,作用于字符则用于比较字符在字母表中的顺序。

左值(lval)

表示表达式只能出现在赋值运算符的左侧,在 JavaScript 中,变量、对象属性和数组元素均是左值。

运算符的副作用

所谓的运算符副作用是指对后续程序执行是否有影响,赋值运算符显然是有副作用的,++--也是。

运算符优先级

如上图所示,每个水平分割线内的一组运算符拥有相同的优先级,不同分组的运算符自上而下的优先级从高到低。优先级高的运算符总是先于优先级低的运算符执行。如果不确定使用的运算符的优先级,最简单的方法就是使用圆括号来强行指定运算顺序。

运算符的结合性

结合性指定了在多个具有同样优先级的运算符表达式中的运算顺序,一元运算符、赋值和三元条件运算符都具有从右到左的结合性,而二元运算符一般都是从左到右。


点赞 取消点赞 收藏 取消收藏

<< 上一篇: 表达式概述

>> 下一篇: 算术运算符