JavaScript 中 =、== 和 === 的区别 [示例]

JavaScript 中的 = 是什么?

等于号 (=) 是一个赋值运算符,它将 = 左边的变量设置为其右边表达式的值。此运算符将左值赋给右值。

例如,写 a=10 是可以的。如果我们写 10=10,'a' = 10 或 'a' = 'a',都会导致引用错误。

JavaScript 中的 == 是什么?

双等于号 (==) 是一个比较运算符,在比较之前会转换具有相同类型的操作数。

因此,当您将字符串与数字进行比较时,JavaScript 会将任何字符串转换为数字。空字符串始终转换为零。没有数字值的字符串会转换为 NaN(非数字),这将返回 false。

JavaScript 中的 === 是什么?

===(三个等于号)是 JavaScript 中的严格相等比较运算符,对于类型不相同的 值,它返回 false。此运算符执行类型转换来进行相等性比较。如果我们使用 === 比较 2 和 "2",它将返回 false。

为什么要在 JavaScript 中使用 =?

以下是 = 在 JavaScript 中的重要用法


= JavaScript 运算符根据右侧操作数的值将值赋给左侧操作数。第一个操作数应该是变量。

基本的赋值运算符是 =,它将一个操作数的值赋给另一个操作数。也就是说,a = b 将 b 的值赋给 a。

为什么要在 JavaScript 中使用 ==?

以下是 == 在 JavaScript 中的重要用法

== 运算符是相等运算符。它通过将表达式从一种数据类型更改为另一种数据类型来检查其两个操作数是否相同。即使操作数类型不同,您也可以使用 == 运算符来比较它们的身份。

=== 是如何工作的?

  • 严格相等 === 检查两个值是否相同。
  • 在比较之前,值不会隐式转换为其他值。
  • 如果变量的值类型不同,则认为它们不相等。
  • 如果变量类型相同、不是数字且值相同,则认为它们相等。
  • 最后,如果两个变量的值都是数字,并且都不为 NaN(非数字)且值相同,则认为它们相等。

使用 = 的示例

在下面的程序中,有两个变量“a”和“b”。我们使用第三个变量“c”来计算并打印它们的值。变量“a”和“b”的值之和为 7。因此,输出是 7。

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Operators</h2>

 <p>a = 2, b = 5, calculate c = a + b, and display c:</p> 

<p id="demonstration"></p>

<script>
var a = 2;
var b = 5;
var c= a + b;
document.getElementById("demonstration").innerHTML = c;
</script>

</body>
</html>


输出

a = 2, b = 5, 计算 c = a + b,并显示 c

7

使用 == 的示例

在下面的程序中,我们声明了一个变量“a”,其值为 10。最后,语句 a == 20 返回 false,因为 a 的值为 10。

<!DOCTYPE html>
<html>
<body>

<p id="demonstration"></p>

<script>
  var a = 10;
  document.getElementById("demonstration").innerHTML = (a == 20);
</script>

</body>
</html>

输出

false

使用 === 的示例

在下面的程序中,变量 x 的值为 10。它与双引号中的 10 进行比较,后者被视为一个 字符串,因此,这两个值不严格相等。程序输出为 false。

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>

  var x = 10;
  document.getElementById("demo").innerHTML = (x === "10");

</script>

</body>
</html>

输出

false

JavaScript 中 = vs == vs ===

以下是 =、== 和 === 之间的重要区别

= == ===
= 在 JavaScript 中用于将值赋给变量。 == 在 JavaScript 中用于比较两个变量,但它会忽略变量的数据类型。 === 用于比较两个变量,但此运算符还检查数据类型并比较两个值。
它被称为赋值运算符 它被称为比较运算符 它也被称为比较运算符
赋值运算符可以评估为赋给它的值 在不考虑数据类型的情况下检查两个操作数的相等性。 在考虑数据类型的情况下比较两个操作数的相等性。
它不返回 true 或 false 如果两个操作数相等,则返回 true。如果两个操作数不相等,则返回 false。 只有当两个变量的值和数据类型都相同时,它才返回 true。
= 只是将一个变量的值赋给另一个变量。 == 根据 变量的值进行类型校正。 === 会考虑变量的类型。
= 完全不比较变量的值。 == 在进行必要的转换后才检查相等性。 如果两个变量的值不相同,=== 则不会执行任何转换。

主要区别

  • = 用于将值赋给变量,== 用于比较两个变量,但它会忽略变量的数据类型,而 === 用于比较两个变量,但此运算符还会检查数据类型并比较两个值。
  • = 称为赋值运算符,== 称为比较运算符,而它也被称为比较运算符。
  • = 不返回 true 或 false,== 仅在两个操作数相等时返回 true,而 === 仅在两个变量的值和数据类型都相同时才返回 true。