js 的 ==undefined 和 ===undefined 有什么区别?
if (v == undefined) {
console.log("==")
}
if (v === undefined) {
console.log("===")
}
上面两个 if 判断有什么区别?
回复
1个回答
test
2024-07-10
==
为相等比较,会有隐式转换(将被比较的值转换为相同类型);
===
为严格相等比较,两个被比较的值必须类型一致;
var num = 0;
var obj = new String("0");
var str = "0";
var b = false;
console.log(num === num); // true
console.log(obj === obj); // true
console.log(str === str); // true
console.log(num === obj); // false
console.log(num === str); // false
console.log(obj === str); // false
console.log(null === undefined); // false
console.log(obj === null); // false
console.log(obj === undefined); // false
相关文档
相等(==) - JavaScript | MDN严格相等(===) - JavaScript | MDNJavaScript 中的相等性判断 - JavaScript | MDN
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容