运算符

算术运算符

ECMAScript中包含以下算数运算符

  • + - * / %(取模) ++ --

同其他语言一样,注意自增自减配合赋值运算时,++/--放于变量前表示先自增自减后赋值,++/--放于变量后表示先赋值后自增自减。

在字符串操作中,+ 运算符用于字符连接。

赋值运算符

ECMAScript中包含以下赋值运算符

  • = x=y 赋值
  • += x+=y 加赋值
  • -= x-=y 减赋值
  • *= x*=y 乘赋值
  • /= x/=y 除赋值
  • %= x%=y 取余赋值

比较运算符

  • > < >= <=
  • 不判断类型: == !=
  • 判断类型: === !==

注意,在 等于/不等于 运算符中,若不判断类型则包含类型的隐私转换。

逻辑运算符

  • 短路 && ||
  • 不短路 & |
  • !

所谓短路就是若前一个条件不满足条件则不进入下一个条件进行判断。

位运算符

  • 按位非 ~, 可简单理解为改变运算数的符号并减去1
~0 == -1 // 0-1=-1
~1 == -2 // -1-1=-2
~-10 == 9 // 10-1=9
~~true == 1
~~false == 0
~~"" == 0
~~[] == 0
~~undefined ==0
~~!undefined == 1
~~null == 0
~~!null == 1
  • & 按位与
  • | 按位或
  • ^ 按位异或
  • ~ 按位非
  • >> 右移
  • << 左移
  • >>> 运算符忽略了符号位扩展,0补最高位,但是只是对32位和64位的值有意义。

参考:

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress