三目运算符
可以将有些判断if-else
的代码显得没有那么臃肿,更加简洁。
当然我们不能将所有的判断都改写成三目运算符,因为三目运算符的代码过于冗长的话,也会让代码的可读性降低,这时候我们可以采用switch-case
语句。
逻辑与操作符&&
如果只有简单的一个判断的话,我们可以采用逻辑与操作来实现判断条件&&结果
注意:这个判断条件如果如果为false的话,就会返回第一个判断条件为false的运算结果(所以在渲染元素的时候需要注意一下)
逻辑或操作||
会将第一个表达式的运算结果传入Boolean函数,如果返回true就直接返回这个运算结果,否则就会尝试下一个。
主要用途就是向下兼容、设置函数参数的默认值。
逻辑取反!
去翻操作也就是将一个非Boolean类型的值转化为Boolean类型的值,并且取反。
!true && console.log('666'); // 返回false
!!true && console.log('666'); // 666
{} && console.log('666'); // 报错
!{} && console.log('666'); // 返回false
!!{} && console.log('666'); // 666
按位取反操作~
判断数组是不是存在某个函数,es6可以用include,但是如果我们想要在参数里面传入一个筛选函数的话,我们最好用findIndex,但此时又会出现一个限制就是我们必须对选出来的index下标值进行判断(看是不是等于-1),这时如果我们能够使用按位取反操作符就可以省去这个步骤。
console.log(~-1); //0 转换为Boolean值即为false
console.log(~0); // -1 转换为Boolean值即为true
console.log(~1); // -2 转换为Boolean值即为true