Javascript学习笔记的等价符号和严格相等符号
Javascript有两种方法来确定这两个值是否相等。平等的象征
相等符号由两部分组成:=相等
Javascript是一种弱类型语言,这意味着一个相等的符号将迫使该类型强制比较这两个值。
复制代码代码如下所示:
0 false
0 =
0 =0 /真
falsefalse false
false0
false =未定义的/ false
false = false / false
NULL =未定义的/真的
= 0
上面的代码显示了类型转换的结果,所以我们知道等号的使用是一个坏习惯。
此外,类型强制也会对性能产生影响。例如,当字符串与数字进行比较时,它将被强制转换为数字。
严格的等号
严格等号包括三个组成部分:=相等
它类似于相等符号的操作,但严格相等的符号不执行强制类型转换。
复制代码代码如下所示:
0 / false
=0 false
0 =0 false
false
false0
false =未定义的/ false
false = false / false
空=未定义的/ false
= 0 / false
上面的代码使代码更清晰,如果这两个值不同,代码直接返回false,这也可以提高性能。
比较对象
虽然称为相等= =和= =符号,但是当比较对象的两种类型的值时,性能会有所不同。
复制代码代码如下所示:
= = = { } { }; / /假
新的字符串('foo)= 'foo '; / /假
新编号(10)= 10; / false
var { };
=;
在这里,它不再只是比较这两个值是否相等。它将确定这两个值是否引用同一个对象实例,它更像C.中的指针。
总结
强烈建议只使用严格的等号= =。如果我们需要进行类型转换,我们可以在比较之前做显式类型转换,而不是Javascript本身的复杂强制转换方法。