/**
* Boolean Example in TypeScript
* -----------------------------
* Demonstrates:
* - Creating boolean variables
* - Boolean expressions
* - Comparison operators
* - Logical operators
* - Conditional statements
* - Custom functions
* - Type annotations
*/
/*
Key operators include:
----------------------
&& // AND
|| // OR
! // NOT
=== // Strict equality
!== // Strict inequality
*/
"use strict";
/**
* Determines whether a user is an adult.
*
* @param age User's age
* @returns True if age is 18 or older
*/
function isAdult(age: number): boolean {
return age >= 18;
}
/**
* Determines whether a user can log in.
*
* @param isActive Whether the account is active
* @param isLocked Whether the account is locked
* @returns True if login is allowed
*/
function canLogin(isActive: boolean, isLocked: boolean): boolean {
return isActive && !isLocked;
}
/**
* Converts a boolean value into a user-friendly string.
*
* @param value Boolean value
* @returns "Yes" or "No"
*/
function toYesNo(value: boolean): string {
return value ? "Yes" : "No";
}
// ----------------------------------------------------
// Boolean Variables
// ----------------------------------------------------
const isLoggedIn: boolean = true;
const isAdmin: boolean = false;
console.log("=== Boolean Variables ===");
console.log("Logged In:", isLoggedIn);
console.log("Admin:", isAdmin);
// ----------------------------------------------------
// Comparison Operators
// ----------------------------------------------------
console.log("\n=== Comparison Operators ===");
const age: number = 21;
const isOldEnough: boolean = age >= 18;
const isSenior: boolean = age >= 65;
console.log("Adult:", isOldEnough);
console.log("Senior:", isSenior);
// ----------------------------------------------------
// Equality Operators
// ----------------------------------------------------
console.log("\n=== Equality Operators ===");
const score: number = 100;
const isPerfectScore: boolean = score === 100;
console.log("Perfect Score:", isPerfectScore);
// ----------------------------------------------------
// Logical AND (&&)
// ----------------------------------------------------
console.log("\n=== Logical AND ===");
const hasUsername: boolean = true;
const hasPassword: boolean = true;
const canAuthenticate: boolean =
hasUsername && hasPassword;
console.log("Can Authenticate:", canAuthenticate);
// ----------------------------------------------------
// Logical OR (||)
// ----------------------------------------------------
console.log("\n=== Logical OR ===");
const isManager: boolean = false;
const isSupervisor: boolean = true;
const hasAccess: boolean =
isManager || isSupervisor;
console.log("Has Access:", hasAccess);
// ----------------------------------------------------
// Logical NOT (!)
// ----------------------------------------------------
console.log("\n=== Logical NOT ===");
const isDisabled: boolean = false;
console.log("Disabled:", isDisabled);
console.log("Enabled:", !isDisabled);
// ----------------------------------------------------
// Conditional Statements
// ----------------------------------------------------
console.log("\n=== Conditional Statement ===");
if (isLoggedIn) {
console.log("Welcome back!");
} else {
console.log("Please log in.");
}
// ----------------------------------------------------
// Custom Function Example: isAdult
// ----------------------------------------------------
console.log("\n=== Function: isAdult ===");
const isUserAdult: boolean = isAdult(age);
console.log(`Age ${age} is adult: ${isUserAdult}`);
// ----------------------------------------------------
// Custom Function Example: canLogin
// ----------------------------------------------------
console.log("\n=== Function: canLogin ===");
const accountIsActive: boolean = true;
const accountIsLocked: boolean = false;
const loginAllowed: boolean =
canLogin(accountIsActive, accountIsLocked);
console.log("Login Allowed:", loginAllowed);
// ----------------------------------------------------
// Ternary Operator
// ----------------------------------------------------
console.log("\n=== Ternary Operator ===");
const status: string =
loginAllowed ? "Allowed" : "Denied";
console.log(status);
// ----------------------------------------------------
// Convert Boolean to Friendly Text
// ----------------------------------------------------
console.log("\n=== Friendly Output ===");
console.log(
`Can Login: ${toYesNo(loginAllowed)}`
);
console.log(
`Is Admin: ${toYesNo(isAdmin)}`
);
/*
run:
=== Boolean Variables ===
Logged In: true
Admin: false
=== Comparison Operators ===
Adult: true
Senior: false
=== Equality Operators ===
Perfect Score: true
=== Logical AND ===
Can Authenticate: true
=== Logical OR ===
Has Access: true
=== Logical NOT ===
Disabled: false
Enabled: true
=== Conditional Statement ===
Welcome back!
=== Function: isAdult ===
Age 21 is adult: true
=== Function: canLogin ===
Login Allowed: true
=== Ternary Operator ===
Allowed
=== Friendly Output ===
Can Login: Yes
Is Admin: No
*/