You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中!(非运算符)工作原理及个人理解正确性验证

关于JavaScript非运算符!的理解确认

你的理解是正确的,不过可以更精准地描述!的核心作用:

!是逻辑非运算符,它的功能是对紧跟的布尔值进行取反操作:

  • 当操作数为true时,!会将其转换为false
  • 当操作数为false时,!会将其转换为true

结合你给出的代码来看:

const hasDriversLicense = true;
const hasGoodVision = true;
const isTired = false;

if (hasDriversLicense && hasGoodVision && !isTired) {
  console.log("Sarah is able to drive!");
} else {
  console.log("Someone else should drive..");
}

变量isTired的值为false,代表Sarah当前不疲劳;!isTired对这个false取反后得到true,刚好匹配判断条件里“不疲劳”的要求——只有当这个值为true时,才满足开车的必要条件之一。

你之前说的“验证变量值是否为false,若是则返回true”,其实是取反操作在这个特定场景下的表现。如果isTired变为true(Sarah疲劳了),!isTired就会变成false,整个if条件不再成立,程序就会执行else分支的内容。

内容的提问来源于stack exchange,提问作者Cristian Lopez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:25:24