码迷,mamicode.com
首页 > Web开发 > 详细

js中!!的原理

时间:2018-03-04 14:39:49      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:body   fine   div   数据   bool   var   undefined   表达式   默认   

经常看到如下写法:

var a;
var b=!!a;

a默认是undefined。由于a前面遇到一个!逻辑符,所以先将undefined转换成布尔值,结果是false,然后!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断提供便利。

!!的作用一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false

上述写法还可以改成

var a
var b=a||false;

 

原理都是一样的,遇到逻辑判断符时先根据js的类型转换规则,转成布尔值再进行比较

js中!!的原理

标签:body   fine   div   数据   bool   var   undefined   表达式   默认   

原文地址:https://www.cnblogs.com/94pm/p/8504321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!