比较运算符:相等性的双重标准
JavaScript提供了两种相等性判断方式:
// 宽松相等(会进行类型转换)
console.log(5 == "5"); // true
console.log(null == undefined); // true
// 严格相等(类型和值都必须相同)
console.log(5 === "5"); // false
console.log(null === undefined); // false
最佳实践:始终使用严格相等运算符,避免隐式类型转换带来的意外行为。
逻辑运算符:不只是真假判断
传统用法:
// 逻辑与
console.log(true && false); // false
// 逻辑或
console.log(true || false); // true
// 逻辑非
console.log(!true); // false
进阶用法(短路评估):
// 使用&&进行条件执行
user && user.login(); // 仅当user存在时调用
// 使用||设置默认值
const name = inputName || "匿名用户";
// 空值合并运算符(??) - ES2020
const value = null ?? "默认值"; // "默认值"
// 可选链运算符(?.) - ES2020
const street = user?.address?.street; // 避免TypeError
实战示例:安全的数据访问
// 安全处理嵌套对象
const getUserEmail = (user) => {
return user?.contact?.email ?? "未提供邮箱";
};
// 复杂条件判断
const canDrive = (person) => {
return person.age >= 16 &&
(person.hasLicense || person.underSupervision);
};
掌握这些运算符的细微差别,将显著提升你的代码质量和开发效率!

被折叠的 条评论
为什么被折叠?



