当前位置: 首页 > Web前端 > JavaScript

使用!!&&--进行撒娇操作

时间:2023-03-26 20:18:14 JavaScript

说到强制类型转换,你会想到什么?但这篇文章不仅仅是强类型转换这么简单,它会让你开拓另一种思路!使用类型转换来处理转换值的类型。使用强制转换访问特定值,即使它是另一种类型。ConvertBoolean(val)toBooleaNumber(val)ConverttonumbersString(val)Converttocharacters以上三个是不是很熟悉?在js中当然可以使用Boolean()将一个值转换成布尔值。还有很多地方需要用到布尔转换,但是你要用这个方法吗?其实还有一个方法大家很少接触,那就是!!你没有看错,是两个感叹号。使用两个'!!'将值转换为布尔类型的运算符比Boolean()简单得多。!!1//true!!0//false!!''//false!!'a'//true!!null//false!!{}//true!![]//true这是为什么可能的?做吗?其实分析起来很简单。首先'!'将值转换为布尔值并对其值取反,第二个'!'恢复其布尔值,类似于“负为正”的原理。我们来看一个例子:上面是双感叹号的用法,当然不仅有!!,还有&&和||可以用来判断。大家一定知道,这两点其中一个代表逻辑,一个代表逻辑或。那么如何使用呢?使用赋值语句用&&和||连接多个值。vara='a'&&0;a//0逐个取出&&连接的值,遇到第一个假值时赋值给变量vara='a'&&1;//如果一个个检测值都没有false,就把最后一个值赋值给变量vara=''||1;//一个一个取回第一个真值,直接复制到变量中vara=''||如果该值为false,则取最后一个值并将其分配给变量。这一波操作虽然让我们眼前一亮,但是用在什么地方呢?先来看一个简单的函数,如果你能看懂,别着急。使用||用于参数传递。封装函数时,传递的参数可能存在也可能不存在。在这种情况下,||可以用来处理它。函数测试(arr){arr=arr||[];returnarr;}test([1,2,3])test()如果参数有数组,当然参数就是它本身。如果不传参数或者传null、undefined等值会被转为false,函数传参时会做一个非null补充,避免参数使用时出现问题。那么真正开发中&&可以用在什么地方呢?举个例子!比如判断某个值后,如果为false,则执行回调函数。函数aaa(isOk,callBack){isOk&&callBack()};aaa(1,function(){console.log('哈哈')});以上就是我要分享的啦!也希望大家可以关注我的公众号web-jianma,随时随地在手机上浏览~