== 和===得区别,常见得隐式类型转换说几个
# 问题: == 和===得区别,常见得隐式类型转换说几个
在 JavaScript 中,"==" 是用于比较两个值是否相等的运算符。它会进行隐式类型转换,将两个值转换为相同的类型,然后再进行比较。例如,如果比较一个整数和一个字符串,"==" 运算符会将字符串转换为整数,然后再进行比较。
而 "===" 是严格相等运算符,也称为恒等运算符。它不会进行隐式类型转换,而是要求比较的两个值不仅值相等,而且类型也相等。只有当值和类型都相等时,"===" 运算符才返回 true,否则返回 false。
以下是一些常见的隐式类型转换的例子:
- 数字和字符串之间的隐式类型转换:
var num = 10;
var str = "10";
console.log(num == str); // true
console.log(num === str); // false
- 布尔值和数字之间的隐式类型转换:
var bool = true;
var num = 1;
console.log(bool == num); // true
console.log(bool === num); // false
- 空值和数字之间的隐式类型转换:
var empty = null;
var num = 0;
console.log(empty == num); // false
console.log(empty === num); // false