一元操作符
我们在平常写代码的时候经常会遇到a++,++a其实两者有区别的我们来看一段代码
let num = 1;
let num2 = 1
let num3 = 2;
let num4 = num-- + num3
let num5 = --num2 + num3
console.log(num); // 0
console.log(num4); // 3
console.log(num5); // 2
后置是请求后执行 前置是请求前执行
当字符串且不能转换为数值的情况下会变为NaN
let d = 's';
console.log(d++) // NaN
布尔操作符
0, undefined, null, NaN非操作符返回都为true
console.log(!0, !undefined, !null, !NaN, !''); // true
当我们遇到&&符号时会先匹配第一个如果为true就进行对比第二个,如果为false就不进行了。
let a = 1;
let b = true && a;
let c = false && a;
let d = 2 && a
console.log(b, c);// 1 false 1
||则是true返回true没有的话返回第一个
let a = 1;
let b = true || a;
let c = false || a;
let d = 2 || a
console.log(b, c, d);// true 1 2
加性操作符
加法会先转为字符串再拼接 而减法会先用Number函数转换再计算,并且跟位置没关, null在减法会变为0 而NaN还是NaN
console.log(1 + '1'); // 11
console.log(1 - '1'); // 0
console.log('1' - 1);// 0
console.log('1' + 1); // 11
console.log(null - '1') // -1
console.log('1' - NaN); // NaN
网友评论