为什么1 = 1 = 1返回true,“1”=“1”=“1”返回true,而“A”=“A”=“A”返回false?[重复]

很抱歉,我刚才给出了一篇错误的答案。事实上,“1”=“1”=“1”和“A”=“A”=“A”的结果都是true。在JavaScript中,“=”运算符比较的是值,而不是类型。因此,如果两个值相等,无论它们的类型如何,结果都将为true。

但是,当我们使用“=”运算符时,需要注意类型转换的问题。例如,如果我们使用“==”运算符比较1和“1”,它们会被强制转换为相同的类型,然后进行比较。在这种情况下,字符串“1”将被转换为数字1,因此1 == "1" 的结果是true。然而,如果我们尝试比较数字1和字符串“1”与数字1和数字1之间的关系,结果将是不同的:

- -- --- -- ----
- -- -   -- ----
--- -- - -- ----
--- --- - -- -----

在第一个比较中,字符串“1”被转换为数字1,并且1等于1,所以结果为true。在第二个比较中,两个操作数都是数字1,因此结果也为true。在第三个比较中,字符串“1”再次被转换为数字1,所以结果为true。在第四个比较中,我们使用“===”运算符,它比较值和类型,因此比较两个不同类型的值会导致结果为false。

总之,在JavaScript中,“=”运算符比较的是值,而不是类型。但是,当我们比较不同类型的值时,需要注意类型转换的问题。

参考代码:

------------- -- ----- -- ----
------------- -- ---   -- ----
--------------- -- --- -- ----
--------------- -- ----- -- ----
--------------- --- ----- -- ----
--------------- --- --- -- -----
--------------- -- ----- -- -----

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/10274