说起强制类型转换,大家能想起什么?但这篇文章不是只有强类型转换这样简略哟,它会让你开发另一种思路!

应用强制类型转换(type casting)解决转换值的类型。应用强制类型转换能够拜访特定的值,即便它是另一种类型的。
  • Boolean(val) 转换成Boolea
  • Number(val) 转换成数字
  • String(val) 转换成字符

以上三种很相熟吧?在js中,将某值强制类型转换成布尔值当然能够应用Boolean()这种办法。须要用到布尔转换的中央还是很多的,但你要用这种办法吗?

其实还有一种办法,大家很少接触,就是!!你没看错,就是两个叹号。利用两个'!!'运算符来将一个值转换为布尔类型,要比Boolean()简略不少吧。

!!1 //true!!0 //false!!'' //false!!'a' //true!!null //false!!{} //true!![] //true  

为什么能够这样做呢?其实剖析起来情理很简略。第一个'!'将值转换成布尔值并取其值的非值,第二个'!'将其布尔值还原,相似于“负负得正”的情理。咱们看个例子吧:

以上就是双叹号的用法,当然不止!!,还有&& 和 || 能够做判断应用。大家必定晓得这两点一个代表逻辑与一个代表逻辑或。那么怎么应用呢?应用赋值语句将多个值用&& 和 ||相连。

var a = 'a' && 0;a //0  逐个检索&&相连的值,遇到第一个false值就将该值赋值给变量 var a = 'a' && 1;  // 如果逐个检测没有false的值,就取最初一个值赋值给变量var a = '' || 1;  //逐个检索到第一个true值,间接复制给变量var a = '' || 0; //逐个检测如都是false值就取最初一个赋值给变量 

这波操作尽管让咱们眼前一亮,但在哪里用失去呢?咱们先看个简略的函数,能不能懂,缓缓看别着急。
应用 || 能够用于参数传递中。在封装某个函数的时候,传递的参数可能有,可能没有,这种状况就能够应用 || 解决。

function test(arr) {arr = arr || [];return arr;}test([1,2,3])test()

如果参数有数组,当然参数就是它本人。如果没有传参数或者传的是null或者undefined之类会转换为false的值,就在函数传递参数时做非空补充,防止在参数应用时呈现问题。

那么&&在实 开发中哪里能够用到呢?举个例子吧!比方判断某个值后如果是false就执行回调函数。

 function aaa(isOk,callBack) {isOk && callBack()}; aaa(1,function(){console.log('haha')});

以上就是想分享的内容啦!

也心愿大家能关注我的公众号web-jianma,手机浏览随时随地~