js中有趣的隐式转化结构

Posted xianrenjia

tags:

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

最近在学习js的时候发现了一个有意思的地方,是一个很好的例子,特此记录一下。

var  arr = []

console.log(arr == !arr)    //输出为true

在这里比较两个时,经过了隐式转化arr数组先是转化为了字符串‘’,‘’有转化成了布尔类型false.

!arr因为前面添加了一个!,所以arr直接转化成了布尔类型,而在直接转化成布尔类型中,除了undefined,null,0,‘‘,NaN转化为false外,其余会全部转化为true,所以这里arr直接转化为了true,!arr就为false.

因arr为false,!arr也为false

所以arr == !arr 结果为true 

以上是关于js中有趣的隐式转化结构的主要内容,如果未能解决你的问题,请参考以下文章

js中的隐式类型转化

深入浅出JavaScript中的隐式转换

javascript中的隐式类型转化

mysql中的隐式类型转化及实际mysql说明

深入详解函数的柯里化

来自 JetpackNavigation 库中通知的隐式深层链接