何时使用 === 何时使用 ==

本文详细解析了JavaScript中双等号(==)与三等号(===)的区别。探讨了`==`的类型转换机制及`===`的严格比较原则,并解释了为何在大多数情况下推荐使用`===`。特别指出,在检查变量是否为null或undefined时,使用`==`是一种常见的简化写法。

考查:强制类型转换

`===` 严格相等,会比较两个值的类型和值
`==`  抽象相等,比较时,会先进行类型转换,然后再比较值

只有下面的情况使用两个等号,其他的均使用三等

if (obj.a == null) {
	//这里相当于 obj.a === null || obj.a ===undefined 的简写形式
	//这个是jq源码的书写形式
}
在C语言中,`==` 运算符用于比较两个值是否相等,它是一个双目运算符,返回值为 `1`(真)或 `0`(假)。以下是一些使用 `==` 运算符的常见场景: ### 条件判断 在 `if`、`while`、`for` 等语句的条件表达式中,使用 `==` 来判断两个值是否相等,从而决定程序的执行流程。 ```c #include <stdio.h> int main() { int num = 10; if (num == 10) { printf("The number is 10.\n"); } else { printf("The number is not 10.\n"); } return 0; } ``` ### 数组元素查找 在遍历数组时,使用 `==` 运算符来查找特定元素。 ```c #include <stdio.h> int main() { int arr[] = {1, 2, 3, 4, 5}; int target = 3; int found = 0; for (int i = 0; i < 5; i++) { if (arr[i] == target) { found = 1; break; } } if (found) { printf("The target element is found.\n"); } else { printf("The target element is not found.\n"); } return 0; } ``` ### 字符串比较(部分情况) 在比较字符是否相等时可以使用 `==`,但比较字符串整体是否相等不能直接用 `==`,因为 `==` 比较的是字符串的地址,而不是内容。不过可以通过遍历字符串,使用 `==` 比较每个字符。 ```c #include <stdio.h> int main() { char str1[] = "hello"; char str2[] = "hello"; int equal = 1; for (int i = 0; str1[i] != '\0' || str2[i] != '\0'; i++) { if (str1[i] != str2[i]) { equal = 0; break; } } if (equal) { printf("The two strings are equal.\n"); } else { printf("The two strings are not equal.\n"); } return 0; } ``` ### 枚举类型比较 在比较枚举类型的值时,使用 `==` 运算符判断两个枚举常量是否相等。 ```c #include <stdio.h> enum Color { RED, GREEN, BLUE }; int main() { enum Color myColor = RED; if (myColor == RED) { printf("The color is red.\n"); } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值