在js中如何转换bool值?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在js中如何转换bool值?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2174字,纯文字阅读大概需要4分钟。
内容图文
这篇文章主要给大家介绍了关于js中bool值的转换方法以及"&&" 、"||"、 "!!"的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。前言
首先需要知道的是,js中有6个值为false,分别是: 0, '', null, undefined, NaN 和 false, 其他(包括{}, [], Infinity)为true.
可以使用Boolean()函数或是两次取非就能获得对象的布尔值,例如Boolean(undefined)和!!undefined同样能取得布尔值false,
对于0, '', null, undefined, NaN,{}, [], Infinity求布尔值,分别是false false false false false true true true.
因此我们知道的一点是:对象的布尔值是true,即使是对象{}。
bool值转换
数据类型 | bool值转化 |
---|---|
undefined | undefined 转化为 false |
Object | null 转化为false,其他为 true |
Boolean | false 转化为 false,true 转化为 true |
Number | 0,NaN 转化为false,其他为 true |
String | "" 转化为 false,其他为 true |
"&&"
javascript中“&&”运算符运算法则如下:
如果&&左侧表达式的值为真值,则返回右侧表达式的值;否则返回左侧表达式的值。多个&&表达式一起运算时,返回第一个表达式运算为false的值,如果所有表达式运算结果都为true,则返回最右侧一个表达式运算的值。
const aa = {'name': 'xx'}; const bb = aa && aa.age; // bb输出为undefined; let cc; const dd = cc && cc.name ? cc.name : undefined; // dd输出为undefined const dd = cc && cc.name; // dd输出为undefined;
上面两句代码的执行结果是一样的,之前写代码的时候一直用上面的方式,但是发现有些单测覆盖不到,导致单测分支覆盖率很低,换下面的方式就可以很好的解决这个问题,这两句的效果是一样的。
"||"
javascript中"||"运算符的运算法则如下:
如果"||"左侧表达式的值为真值,则返回左侧表达式的值;否则返回右侧表达式的值。多个"||"表达式一起运算时,返回第一个表达式运算结果为true的值,如果所有表达式运算结果都为false,否则返回最右侧的表达式的值。
const aa = false || 'xx'; // aa输出为'xx'
"!!"
"!!"将表达式进行强制转化为bool值的运算,运算结果为true或者false。
const aa = 'xx'; const bb = !!aa; // bb输出为true const cc = !!(NaN || undefined || null || 0 || '' ); // cc为false;
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在Vuejs中通过nextTick()实现异步更新队列
在three.js中如何实现3D模型展示
Angular CLI安装教程
使用ReactNative如何实现Toast
使用CommonsChunkPlugin如何做才能抽取公共模块
在AngularJS中有关于MVC的复杂操作
以上就是在js中如何转换bool值?的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的在js中如何转换bool值?全部内容,希望文章能够帮你解决在js中如何转换bool值?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。