表达式与运算符

表达式

[ 原始表达式 ] 表达式的最小单位,可以分为直接量、关键字和变量。

[ 表达式?↓ ] 简单来说,是由操作符(又称,运算符)以及一个或多个操作数组成的一个语句。


运算符

[ 运算符语法?!JS 操作符的与众不同之处在于,它们能够适应于很多值,如字符串、数值、布尔值,甚至是对象。

在应用于对象时,相应的操作符通常会调用对象的 valueOf() 和(或) toString() 方法,以便取到可以操作的值。


  • 算术运算符(+    -    *    /    %    **)
    • 一元运算符(++    --    +    -)
  • 赋值运算符(=    *=    /=    %=    +=    -=)
  • 关系(比较)运算符(>    <    >=    <=)
    • 相等运算符(==    !=    ===    !==)
  • 位操作符(~    &    |    ∧    <<    >>    >>>)
  • 逻辑(布尔)运算符(!    &&    ||)
  • 其他:条件运算符(?:)、逗号、() 和 void运算符

[1] 算术运算符:JS 中算术操作主要通过算术运算符来实现,包括一元算术运算符和二元算术运算符。

[ 一元运算符?↓ ]  一些只需要一个操作数的运算符,用于一个单独的操作数,并产生一个新值。


[ 二元算术运算符?↓就是用来处理四则运算(加、减、乘、除)的符号。


[2] 赋值运算符?↓即把某个常量或变量或表达式的值赋值给另一个变量。


[3] 关系运算符?↓又称为比较运算符,用于比较操作符左右的操作数的大小。

[ 相等运算符 ] 主要用于比较操作符左右的操作数是否相等。


[4] 位操作符?↓:将其操作数转化为二进制后,进行与、或、非、异或等操作运算,最终返回JS中的一个数值。

[5] 逻辑运算符?↓又叫布尔运算符,主要通过与、或、非来判断一个表达式的值是否为 true。

[6] 其他:条件、逗号、()和void运算符

JS 中运算符总共有46个,除算术运算符、赋值运算符、关系运算符、位运算符、逻辑运算符之外,还有很多运算符。


[6-1] 条件运算符

条件运算符是JS中唯一的一个三元运算符(3个操作数),一般用作if语句的简短形式来使用。

[ 条件运算符 PK if语句 ]其实使用 if 语句也会带来同样的效果,'?:'运算符只是提供了一种简写形式。

三元条件表达式与if...else语句具有同样表达效果,但是两者有一个重大差别:if...else是语句,没有返回值;三元条件表达式是表达式,具有返回值。所以,在需要返回值的场合,只能使用三元条件表达式,而不能使用if...else。


[6-2] 逗号运算符

逗号运算符是二元运算符,它的操作数可以是任意类型。它首先计算左操作数,然后计算右操作数,最后返回右操作数的值,用逗号运算符可以在一条语句中执行多个运算。

  • 逗号运算符常用于声明多个变量。

  • 逗号运算符还可以用于赋值,在用于赋值时,逗号运算符总是返回表达式中的最后一项。


[6-3] 圆括号运算符

圆括号运算符也叫分组运算符,它有两种用法:

  • 如果表达式放在圆括号中,作用是求值;
  • 如果跟在函数后面,作用是调用函数。


[6-4] void运算符

void 是一元运算符,它出现在操作数之前,操作数可以是任意类型,操作数会照常计算,但忽略计算结果并返回undefined。由于void会忽略操作数的值,因此在操作数具有副作用的时候使用void来让程序更具语义。