等于运算符 ( == ) 与严格等于运算符 ( === )

位置:首页>文章>详情   分类:Web前端   阅读(251)   2023-06-26 07:54:31

在 TypeScript(或 JavaScript)中,我们可以使用相等运算符'==')或严格相等运算符(<代码>'===')。 比较运算符看起来几乎相似;但是,他们比较两个给定变量的方式非常不同。

如果适用,相等运算符仅比较应用类型强制后的值。严格相等运算符比较两个操作数的值和类型。

1.等于运算符(==)

比较 x == y 与等于运算符,其中 x 和 y 是操作数,可以产生布尔结果,即 truefalse

要知道的重要一点是,在比较这两个值时,JavaScript 运行时将执行 type coercion 使两个值成为同一类型。

例如,如果我们尝试将 string 值与 number 值进行比较,则 string 值将首先转换为 number 类型,然后进行比较。

"10" == 10		

//becomes

parseInt("10") == 10

阅读更多:完整的平等比较算法

让我们再举一个例子来理解比较。

let a = 10;

a == 10					//true
a == '10'				//true

查看上面示例中的最后两个语句。变量 'a' 如何等于 number 10string '10' 两者。

2. 严格等于运算符 ( === )

与等号运算符的严格比较 x === y,其中 x 和 y 是值,仅在以下情况下产生 truefalse

  1. x 和 y 是同一类型
  2. x 和 y 具有相同的值

让我们通过一个例子来理解。

let a = 10;

a === 10					//true
a === '10'					//false

在上一个示例中,比较存储number 10 的变量不等于string 10

3. 使用哪个运营商?

作为一项建议,建议始终使用严格的等于运算符。这很有帮助,因为 –

  1. 我们在检查相等性时不需要记住类型转换规则。
  2. 如预期的那样,比较不同的数据类型应该是 false
  3. 由于上述事实,源代码将不易出错。

快乐学习!!

地址:https://www.cundage.com/article/equals-vs-strict-equals.html