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

位置:首页>文章>详情   分类: Web前端 > 编程技术   阅读(410)   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

相关阅读

TypeScript 支持对所有原始类型和对象类型进行类型检查。 TypeScript 还支持泛型、装饰器和 ES6 模块类型。 重要的是要了解 typescript 中的类型系统 被设计为可选...
学习检查给定变量的值是否为数字,使用不同的解决方案,例如 Number.isFinite() 和 typeof() 函数。给定的解决方案适用于 JavaScript 以及 TypeScript。...
学习在 typescript 中创建函数 和函数类型声明。我们还将看到如何声明和传递可选参数,为任何参数设置默认值;和其余参数以及易于理解的示例。 1. 在 TypeScript 中创建一个函数...
TypeScript 支持对所有原始类型和对象类型进行类型检查。 TypeScript 还支持泛型、装饰器和 ES6 模块类型。 重要的是要了解 typescript 中的类型系统 被设计为可选。
在 TypeScript 中,联合类型 变量是可以存储多种类型的值(即数字、字符串等)的变量。 联合类型允许我们定义一个具有多种类型的变量。联合类型变量是在类型之间使用竖线 ('|') 符号定义...
TypeScript Date 对象表示时间轴中的一个瞬间并启用日期的基本存储和检索以及次。 默认情况下,new Date() 对象包含用户计算机的日期和时间。我们可以获取或设置Date对象的年...
typescript 模板字符串(或模板文字)是一个常规的 JavaScript 字符串,它包含在反引号字符 (`) 中,用多个占位符表示 ${ }。
TypeScript 逻辑运算符类似于我们在 JavaScript 逻辑运算符中学到的内容。这些运算符有助于比较 boolean 表达式并生成单个 boolean 值作为结果
在 TypeScript 中,联合类型 变量是可以存储多种类型的值(即数字、字符串等)的变量。 联合类型允许我们定义一个具有多种类型的变量。
学习在 typescript 中创建函数 和函数类型声明。我们还将看到如何声明和传递可选参数,为任何参数设置默认值;和其余参数以及易于理解的示例。