ZetCode

JavaScript false 关键字

最后修改于 2025 年 4 月 16 日

在本文中,我们将探讨 JavaScript 中的 false 关键字。我们将介绍其基本用法,与其他 falsy 值的比较,以及实际例子。

false 关键字

false 关键字是 JavaScript 两个布尔字面量之一,表示逻辑假值。它用于条件语句、比较和布尔运算。false 是一个原始值。

在 JavaScript 中,值可以在布尔上下文中进行评估。有些值是“falsy”(评估为 false),而另一些是“truthy”。false 关键字是 JavaScript 中六个 falsy 值之一。

其他 falsy 值为 0""(空字符串)、nullundefinedNaN。所有其他值都被认为是 truthy。理解 falsy 值对于编写有效的条件语句至关重要。

false 的基本用法

使用 false 的最简单方法是在布尔变量赋值中。

main.js
let isLoggedIn = false;

if (isLoggedIn) {
    console.log("User is logged in");
} else {
    console.log("User is not logged in");
}

这里我们声明了一个布尔变量 isLoggedIn,设置为 false。if 语句检查这个值并执行相应的分支。由于 false 是 falsy 的,因此 else 块运行。

$ node main.js
User is not logged in

比较 false 与其他 falsy 值

虽然 false 是 falsy 的,但并非所有 falsy 值都等于 false

main.js
console.log(false == 0);        // true
console.log(false == "");       // true
console.log(false == null);     // false
console.log(false == undefined); // false
console.log(false === 0);       // false

这展示了 false 如何与其他 falsy 值进行比较。松散相等运算符 (==) 执行类型强制转换,而严格相等 (===) 则不执行。只有 0 和空字符串才会被强制转换为 false

$ node main.js
true
true
false
false
false

在逻辑运算中使用 false

false 在逻辑 AND 和 OR 运算中起着特定作用。

main.js
console.log(false && true);   // false
console.log(false || true);   // true
console.log(!false);          // true

let result = false && "Hello";
console.log(result);          // false

result = false || "Default";
console.log(result);          // "Default"

逻辑 AND 返回第一个 falsy 值或最后一个 truthy 值。逻辑 OR 返回第一个 truthy 值或最后一个 falsy 值。NOT 运算符 (!) 将 false 转换为 true

$ node main.js
false
true
true
false
Default

在条件语句中使用 false

false 经常直接用于条件语句中以提高清晰度。

main.js
function isAdult(age) {
    return age >= 18;
}

let age = 15;

if (isAdult(age) === false) {
    console.log("Access denied - too young");
}

// Alternative with !
if (!isAdult(age)) {
    console.log("Access denied - too young");
}

这两种形式都检查函数是否返回 false 值。第一种显式地与 false 进行比较,而第二种使用 NOT 运算符。两者都有效,但服务于不同的可读性偏好。

$ node main.js
Access denied - too young
Access denied - too young

false 作为默认参数

false 可以在函数中用作默认参数值。

main.js
function createUser(name, isAdmin = false) {
    console.log(`User ${name} created. Admin: ${isAdmin}`);
}

createUser("Alice");
createUser("Bob", true);
createUser("Charlie", false);

这里 false 用作 isAdmin 参数的默认值。当未提供时,它默认为 false。这种模式在函数中对于布尔标志很常见。

$ node main.js
User Alice created. Admin: false
User Bob created. Admin: true
User Charlie created. Admin: false

false 在对象属性中

布尔属性通常使用 false 来指示禁用或非活动状态。

main.js
const settings = {
    darkMode: false,
    notifications: true,
    autoSave: false
};

if (!settings.darkMode) {
    console.log("Using light theme");
}

if (settings.notifications) {
    console.log("Notifications are enabled");
}

此示例显示一个具有布尔属性的对象。darkModeautoSave 设置为 false,而 notifications 设置为 true。我们检查这些值以确定应用程序行为。

$ node main.js
Using light theme
Notifications are enabled

实际用例:表单验证

这是一个在表单验证中使用 false 的实际例子。

main.js
function validateForm(data) {
    let isValid = true;
    
    if (!data.username) {
        console.log("Username is required");
        isValid = false;
    }
    
    if (data.password.length < 8) {
        console.log("Password too short");
        isValid = false;
    }
    
    return isValid;
}

const formData = {
    username: "",
    password: "123"
};

if (!validateForm(formData)) {
    console.log("Form validation failed");
}

此验证函数以 isValid = true 开始,如果任何验证失败,则将其设置为 false。如果任何检查失败,该函数将返回 false,表示表单数据无效。

$ node main.js
Username is required
Password too short
Form validation failed

来源

布尔字面量 - 语言参考

在本文中,我们演示了如何在 JavaScript 中使用 false 关键字。我们介绍了比较、逻辑运算和实际应用。

作者

我的名字是 Jan Bodnar,我是一位热衷的程序员,拥有丰富的编程经验。自 2007 年以来,我一直在撰写编程文章。迄今为止,我撰写了 1,400 多篇文章和 8 本电子书。我拥有十多年的编程教学经验。

查看 所有 JavaScript 教程。