1、算术运算符
- +(加) -(减) *(乘) /(除) %(取余)
加号(+) 在JS中有两个含义: 连字符、加法运算
不要直接判断两个浮点数是否相等
- 递增递减 ++ 与 --
++num先自加,后运算返回值
num++ 先运算返回原值,后自加
2、比较运算符
- > >= < <= == != === !==
比较运算符的返回值是布尔值
除了===不会转换类型比较,其他都会先转换类型在比较
3、逻辑运算符
- && || !
返回值是布尔值true/false
逻辑与 && 都真才真,有假就假
逻辑或 || 有真就真,全假才假
逻辑非 ! 取反的意思
- 短路操作(逻辑中断)
表达式1 && 表达式2
如果第一个表达式的值为真,则返回表达式2
如果第一个表达式的值为假,则返回表达式1
表达式1 || 表达式2
如果第一个表达式的值为真,则返回表达式1
如果第一个表达式的值为假,则返回表达式2
4、运算优先级
1、小括号 ()
2、一元运算符 ++ -- !逻辑非
3、算术运算符 先 * / % 后 + -
4、关系运算符 > >= < <=
5、相等运算符 == != === !==
6、逻辑运算符 先算逻辑与 && 在算逻辑或 ||
7、赋值运算符 =
8、逗号运算符 ,逻辑与比逻辑或优先级高
一元运算符里面的逻辑非优先级很高
5、JS6新增的展开运算符...
数组中、对象中使用等于把数组(对象)拆分成一个个元素,然后操作
let arr = [...this.list]//代表把list数组展开,每一项放在了arr数组里
箭头函数中使用(称为合并运算符)在函数的形参出使用,实参传递多个,也可以接收到。可以解决箭头函数没有arguments的问题