JavaScriptTypeScript中==和===哪个更严格,区分它们有什么重要性?

2026-04-02 21:180阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计858个文字,预计阅读时间需要4分钟。

JavaScript/TypeScript中==和===哪个更严格,区分它们有什么重要性?

在JS/TS项目中,除了能直接看到 `==` 操作符来判断两个变量是否相等外,我们还会遇到 `===` 操作符。这两者有什么区别呢?

先来总结一下:- `==` 操作符称为相等操作符,它会进行类型转换,判断两个值是否相等。- `===` 操作符称为严格相等操作符,它不会进行类型转换,直接比较两个值是否完全相等。

对于基础类型如 String、number 等,`==` 操作符会先进行类型转换,然后比较值是否相等。而 `===` 操作符则会直接比较值,不会进行类型转换。

在JS/TS项目里,除了能看到==操作符来判断两个变量是否相等外,我们还会看到===操作符,这两者有什么区别吗?

先上结论,

  • 对于String, number这些基础类型,==操作符会先把两边的变量进行类型强制转换成相同的类型再比较是否相等;===操作符则不会进行类型转换,而是直接进行比较。
  • 对于array, object这些高级类型,==和===是没有区别的,因为它们比较的是 “指针地址” 。
  • 对于基础类型和高级类型,==和===是有区别的;==操作符会先把高级类型转换为基础类型之后,进行值的比较;===操作符则不会进行转换,类型不同,直接返回false

也就是说,`==`操作符只要求比较两个变量的值是否相等,`===`操作符则是要求两个变量的值和类型都要相同;类似地,`!=`操作符会去做类型强制转换,`!==`操作符则不会转换类型。

阅读全文
标签:区别

本文共计858个文字,预计阅读时间需要4分钟。

JavaScript/TypeScript中==和===哪个更严格,区分它们有什么重要性?

在JS/TS项目中,除了能直接看到 `==` 操作符来判断两个变量是否相等外,我们还会遇到 `===` 操作符。这两者有什么区别呢?

先来总结一下:- `==` 操作符称为相等操作符,它会进行类型转换,判断两个值是否相等。- `===` 操作符称为严格相等操作符,它不会进行类型转换,直接比较两个值是否完全相等。

对于基础类型如 String、number 等,`==` 操作符会先进行类型转换,然后比较值是否相等。而 `===` 操作符则会直接比较值,不会进行类型转换。

在JS/TS项目里,除了能看到==操作符来判断两个变量是否相等外,我们还会看到===操作符,这两者有什么区别吗?

先上结论,

  • 对于String, number这些基础类型,==操作符会先把两边的变量进行类型强制转换成相同的类型再比较是否相等;===操作符则不会进行类型转换,而是直接进行比较。
  • 对于array, object这些高级类型,==和===是没有区别的,因为它们比较的是 “指针地址” 。
  • 对于基础类型和高级类型,==和===是有区别的;==操作符会先把高级类型转换为基础类型之后,进行值的比较;===操作符则不会进行转换,类型不同,直接返回false

也就是说,`==`操作符只要求比较两个变量的值是否相等,`===`操作符则是要求两个变量的值和类型都要相同;类似地,`!=`操作符会去做类型强制转换,`!==`操作符则不会转换类型。

阅读全文
标签:区别