"use strict";
/*
* Boolean Example in JavaScript
* -----------------------------
* Demonstrates:
* - Boolean variables
* - Comparison operators
* - Logical operators
* - Boolean conversion
* - Conditional statements
* - Reusable functions
*/
/*
Falsy Values
------------
false
0
-0
""
null
undefined
NaN
*/
/*
The most important operations are:
----------------------------------
&& // AND
|| // OR
! // NOT
=== // Equal
!== // Not equal
Boolean() // Convert to boolean
*/
/**
* Determines whether a person is an adult.
*
* @param {number} age
* @returns {boolean}
*/
function isAdult(age) {
return age >= 18;
}
/**
* Determines whether a user can log in.
*
* @param {boolean} isActive
* @param {boolean} isLocked
* @returns {boolean}
*/
function canLogin(isActive, isLocked) {
return isActive && !isLocked;
}
/**
* Converts a boolean value into
* a user-friendly string.
*
* @param {boolean} value
* @returns {string}
*/
function toYesNo(value) {
return value ? "Yes" : "No";
}
// --------------------------------------------------
// Boolean Variables
// --------------------------------------------------
const isLoggedIn = true;
const isAdmin = false;
console.log("=== Boolean Variables ===");
console.log("Logged In:", isLoggedIn);
console.log("Admin:", isAdmin);
// --------------------------------------------------
// Comparison Operators
// --------------------------------------------------
console.log("\n=== Comparison Operators ===");
const age = 25;
const isOldEnough = age >= 18;
const isTeenager = age >= 13 && age <= 19;
console.log("Adult:", isOldEnough);
console.log("Teenager:", isTeenager);
// --------------------------------------------------
// Equality Operators
// --------------------------------------------------
console.log("\n=== Equality Operators ===");
const score = 100;
console.log(score === 100);
console.log(score !== 50);
// --------------------------------------------------
// Logical AND (&&)
// --------------------------------------------------
console.log("\n=== Logical AND ===");
const hasUsername = true;
const hasPassword = true;
const canAuthenticate =
hasUsername && hasPassword;
console.log(canAuthenticate);
// --------------------------------------------------
// Logical OR (||)
// --------------------------------------------------
console.log("\n=== Logical OR ===");
const isManager = false;
const isSupervisor = true;
const hasAccess =
isManager || isSupervisor;
console.log(hasAccess);
// --------------------------------------------------
// Logical NOT (!)
// --------------------------------------------------
console.log("\n=== Logical NOT ===");
const isDisabled = false;
console.log("Disabled:", isDisabled);
console.log("Enabled:", !isDisabled);
// --------------------------------------------------
// Boolean Conversion
// --------------------------------------------------
console.log("\n=== Boolean Conversion ===");
console.log(Boolean(1)); // true
console.log(Boolean(0)); // false
console.log(Boolean("Hello")); // true
console.log(Boolean("")); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined));// false
// --------------------------------------------------
// Conditional Statements
// --------------------------------------------------
console.log("\n=== Conditionals ===");
if (isLoggedIn) {
console.log("Welcome!");
} else {
console.log("Please log in.");
}
// --------------------------------------------------
// Function Example: isAdult
// --------------------------------------------------
console.log("\n=== Function: isAdult ===");
console.log(isAdult(15));
console.log(isAdult(25));
// --------------------------------------------------
// Function Example: canLogin
// --------------------------------------------------
console.log("\n=== Function: canLogin ===");
console.log(canLogin(true, false));
console.log(canLogin(true, true));
// --------------------------------------------------
// Ternary Operator
// --------------------------------------------------
console.log("\n=== Ternary Operator ===");
const status =
isLoggedIn ? "Online" : "Offline";
console.log(status);
// --------------------------------------------------
// Friendly Output
// --------------------------------------------------
console.log("\n=== Friendly Output ===");
console.log(
`Can Login: ${toYesNo(canLogin(true, false))}`
);
console.log(
`Is Admin: ${toYesNo(isAdmin)}`
);
/*
run:
=== Boolean Variables ===
Logged In: true
Admin: false
=== Comparison Operators ===
Adult: true
Teenager: false
=== Equality Operators ===
true
true
=== Logical AND ===
true
=== Logical OR ===
true
=== Logical NOT ===
Disabled: false
Enabled: true
=== Boolean Conversion ===
true
false
true
false
false
false
=== Conditionals ===
Welcome!
=== Function: isAdult ===
false
true
=== Function: canLogin ===
true
false
=== Ternary Operator ===
Online
=== Friendly Output ===
Can Login: Yes
Is Admin: No
*/