【JavaScript】运算符

186 阅读2分钟

一、目录

  • 算数运算符
  • 比较运算符
  • 布尔运算符
  • 二进制运算符
  • 其他运算符

二、算数运算符

number运算

  • 加:+
  • 减:-
  • 乘:*
  • 除:/
  • 取余数:%(10 % 3 = 1)
  • 指数:**
  • 自增自减:x++、++x、x--、--x(若x=1,则x++=1,x=2;++x=2,x=2;x在前,值为前,x在后,值为后)
  • 求值运算符:+x(+x就等于x)
  • 负数运算符:-x(-x取x的负值)

string运算

  • 连接运算:'123' + '456',得到'123456'

特殊情况

  • 1 + '2',得到'12'(数字被转换为字符串)
  • '2' - 1,得到1(由于字符串不支持减号,字符串被转换为数字)

注意

  • 尽量少用自增和自减

三、比较运算符

类型

  • >
  • <
  • >=
  • <=
  • ==:永远不要使用
  • !=
  • ===
  • !==

“==”的弊端

0 == []
0 == ''
0 == '\t'
但是,右边三个互不相等。

“===”判断真假的方法

  1. 基本类型看值是否相等
  2. 对象类型看地址是否相等
  3. 唯一特例:NaN !== NaN

四、布尔运算符

类型

  • 或:||
  • 与:&&
  • 非:!

短路逻辑

二进制运算符

或、与、否、异或、左移右移、头部补零;位运算判断奇偶、交换ab的值、取整

五、点运算符

语法

对象.属性名 = 属性值

作用

读取对象的属性值

不是对象为什么有属性?

JS有特殊逻辑,点前面不是对象,就把它封装成对象;number变成Number对象,string变成String对象,bool变成Boolean对象,一般不用这三种对象,只用其简单类型。永远不要用以上三个构造函数。

六、void运算符

七、逗号运算符

语法

表达式1,表达式2,表达式3,...,表达式n

作用

将表达式n的值作为整体的值

使用

let a = (1,2,3,4,5),则a等于5

八、运算符的优先级