在JavaScript中,什么's等于('='&'==')之间的差值

In JavaScript what's the difference between Equal to ('==' & '===')

本文关键字:amp 之间 JavaScript 什么 等于      更新时间:2023-09-26

我正在努力理解JavaScript中的等式。这是代码。

    var x = prompt("What is 10 + 10");
    if (x === 10) {
        document.write("Correct")
    }
    else {
        document.write("Incorrect")
    }

我为什么不把等号做成"==="这样呢。所以,如果"10"等于("===")"x"(用户答案),那么它应该是正确的,对吗?

我搜索了Stack Overflow和W3Schools,但找不到我要找的东西。我想我根本不明白这是真是假。我的意思是,这似乎是一个非常简单的方程式。帮忙会很棒的,谢谢大家!

===是严格的类型等式,通过值和类型进行比较

==是非严格类型的等式,它只通过值进行比较。

换句话说,==执行类型转换,然后比较相等的值。以下是的一些例子

"3" == 3
=> true

说明:字符串3被转换为等于3的数字3。

"3" === 3
=> false

说明:字符串不会转换为数字。因此,字符串3不等于数字3。

在您的示例中,incorrect将被写入文档。这是因为prompt的结果返回一个字符串,并且您正在执行与数字的严格相等。

在你的情况下,口译员看到的是这样的

if ("10" === 10) {
    // does the string "10" equal the number 10? If so
    document.write("Correct")
}
else {
    // Hey, wait a minute. It doesn't equal the number. I should write "Incorrect" instead.
    document.write("Incorrect")
}

在Javascript中,

==表示:相当于

===表示:相同

x的值为"10"时,x等效于10

但其10不完全相同。