JavaScript Comparisons

Comparison operators compare two values and return a boolean. They are fundamental for decision-making, determining equality, ordering, and identity of values.

Key Topics

Equality Operators

== checks equality with type coercion, while === checks equality without converting types.

console.log(5 == "5");
console.log(5 === "5");

Output

> true

> false

Explanation: == considers "5" equal to 5 due to type coercion, while === checks type as well, returning false.

Relational Operators

Operators like >, <, >=, and <= compare relative ordering of values.

console.log(10 > 5);
console.log(2 <= 2);

Output

> true

> true

Explanation: 10 is greater than 5, and 2 is less than or equal to 2, both are true comparisons.

Strict Equality

=== (strict equality) ensures that both type and value must match for true.

console.log(true === 1);
console.log(false === 0);

Output

> false

> false

Explanation: Even though 1 is often truthy, true === 1 is false because they differ in type. The same applies to false === 0.

JavaScript Usage in DOM

Comparisons help you show or hide elements, change styles, or control behavior based on conditions in the browser.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Comparisons in DOM</title>
</head>
<body>
    <h1>Comparison Demo</h1>
    <input type="number" id="numInput" placeholder="Enter a number">
    <button onclick="checkNumber()">Check</button>
    <p id="result"></p>

    <script>
        function checkNumber() {
            let val = parseInt(document.getElementById("numInput").value);
            if (val > 10) {
                document.getElementById("result").textContent = "Greater than 10";
            } else {
                document.getElementById("result").textContent = "10 or less";
            }
        }
    </script>
</body>
</html>

Key Takeaways

  • Equality: == allows type coercion, === enforces strict equality.
  • Relational Operators: Compare sizes and ordering of values.
  • Strict Equality: Ensures both type and value match.
  • DOM Integration: Control UI based on comparison results.