number 运算符
加减乘除:+ - * /
余数 x%7
指数 x**3
自增自减 x++/ ++x/x-- --x
求值运算符 +x
负数运算符 -x
string 运算符
只支持 '+' 号运算
连接运算符 '123' + '456'
尽量少用自增自减
只有 for 循环时使用 i++
比较运算符
>
、<
、>=
、 <=
、==
、===
、!=
、!===
永远不要使用 ==,用 === 代替
===
- 判断类型是否相等
- 判断值是否相等
NaN !== NaN
{ } !== { }
[ ] !== [ ]
布尔运算符
或且非
||
、&&
、!
短路逻辑
console && console.log && console.log(1)
防御性编程
a = a || 100
a 的保底值
// 默认 n = 1
function add(n = 0) {
return n + 1
}
二进制运算符
或、与、否
|
、&
、!
异或
^
左移和右移
<<
、>>
头部补零的右移运算符
>>>
使用与运算符判断奇偶
偶数 & 1 = 0
奇数 & 1 = 1
使用 ~~,>>,<<,>>>,| 来取整
~~ 6.83
6.83 >> 0
6.83 << 0
6.83 | 0
6.83 >>> 0
使用 ^ 来交换 ab 的值
var a = 5
var b = 8
a ^= b
b ^= a
a ^= b
点运算符
语法
对象.属性 = 属性值
作用
读取对象的属性值
永远不要用 New Number | String | Boolean
void运算符
语法
void 表达式或语句
作用
求表达式的值或执行语句,然后 void 的值总是为undofined
逗号运算符
语法
表达式 1,表达式 2 ···
作用
将表达式式的值作为整数
let f= (x) => (consde,log('hi'), x * x)
括号不能省
资料来源:饥人谷