js中!!的原理

Posted 94pm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中!!的原理相关的知识,希望对你有一定的参考价值。

经常看到如下写法:

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中!!的原理的主要内容,如果未能解决你的问题,请参考以下文章

js常用代码片段(更新中)

js根据类名获取元素的底层原理

js 常用代码片段

Node.js JavaScript 片段中的跳过代码

回归 | js实用代码片段的封装与总结(持续更新中...)

前端开发中最常用的JS代码片段