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本身的复杂强制转换方法。