手机版

title:==JS中的操作:['[' ']==false-gt;真实的

时间:2021-09-08 来源:互联网 编辑:宝哥软件园 浏览:

计算以下表达式的值:

['']==false

首先,这两个操作数是对象类型和布尔类型。根据图1,需要将布尔类型转换为数值类型,将false转换为数值类型的结果为0,因此表达式变为:

['']==0

这两个操作数成为对象类型和数字类型。根据图1,对象类型需要转换为原始类型:

[].首先调用valueOf()。由于数组的valueOf()方法返回自身,因此结果不是原始类型。继续呼叫[]。toString()。

对于数组,toString()方法的算法是将每个元素转换成一个字符串类型,然后依次用逗号','连接,这样最后的结果就是一个空字符串'',它是原始类型的值。

此时,表达式变为:

''==0

这两个操作数成为字符串类型和数字类型。根据图1,有必要将字符串类型转换为数字类型。前面说空字符串变成数字0。然后表达式变成:

0==0

到目前为止,两个操作数的类型最终是一样的,结果显然是真的。

版权声明:title:==JS中的操作:['[' ']==false-gt;真实的是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。