这是什么== – javascript运算符?

前端之家收集整理的这篇文章主要介绍了这是什么== – javascript运算符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我发现== – 或==时,我在尝试不同的条件时磕磕绊绊.

在JS控制台中,您可以编写:

var a = " ";

那么以下是真的

a == " ";

但这是错误

a == "    ";

但是,如果你说:

a ==- "   ";

要么

a ==+ "   ";

那么这个漂亮的== – 运算符是什么?

解决方法

他们不是独特的操作符.

写作:

a ==- " ";

被解析为:

(a) == (-" ");

==也是如此.

由于Javascript的奇怪的类型转换规则,表达式的计算结果为true.发生以下情况:

>一元 – (或)运算符将其操作数转换为数字.如果它是空字符串,则此转换的结果为0.
> a ==( – “”)则等于“”== 0.如果与==比较的类型不同,则一个(可能是两个)转换为获得公共类型.在这种情况下,左侧的“”也会转换为0.
>您最终将0与0进行比较,结果为真.

(以上是Javascript如何得出这个结果的一个粗略示例,actual rules隐藏在ECMAScript specification中.如果比较对象的类型不同,您可以使用===运算符来防止转换并获取错误. )

猜你在找的JavaScript相关文章