This site is mobile accessible. Press the "Tap Here" button to use a different font-size.


Smartphone icons created by Freepik - Flaticon

  • 6.2 JS Comparisons

    Comparison and Logical operators are used to test for true or false.

    Comparison Operators

    • Comparison operators are used in logical statements to determine equality or difference between variables or values.
    • Given that x = 5, the table below explains the comparison operators:
    Operator Description Comparing Returns Try it
    == equal to x == 8 false Try It
    x == 5 true Try It
    x == "5" true Try It
    === equal value and equal type x === 5 true Try It
    x === "5" false Try It
    != not equal x != 8 true Try It
    !== not equal value or not equal type x !== 5 false Try It
    x !== "5" true
    x !== 8 true Try It
    > greater than x > 8 false Try It
    < less than x < 8 true Try It
    >= greater than or equal to x >= 8 false Try It
    <= less than or equal to x <= 8 true Try It

    How Can it be Used

    Comparison operators can be used in conditional statements to compare values and take action depending on the result:

    if (age < 18) text = "Too young to buy alcohol";

    You will learn more about the use of conditional statements in the next chapter of this tutorial.

    Logical Operators

    • Logical operators are used to determine the logic between variables or values.
    • Given that x = 6 and y = 3, the table below explains the logical operators:
    Operator Description Example Try it
    && and (x < 10 && y > 1) is true Try It
    || or (x == 5 || y == 5) is false Try It
    ! not !(x == y) is true Try It

    Conditional (Ternary) Operator

    JavaScript also contains a conditional operator that assigns a value to a variable based on some condition.

    Syntax

    variablename = (condition) ? value1:value2
    Example: JS Comparison The () ? : Ternary Operator
    var voteable = (age < 18) ? "Too young":"Old enough";

    If the variable age is a value below 18, the value of the variable voteable will be "Too young", otherwise the value of voteable will be "Old enough".

    Comparing Different Types

    • Comparing data of different types may give unexpected results.
    • When comparing a string with a number, JavaScript will convert the string to a number when doing the comparison. An empty string converts to 0. A non-numeric string converts to NaN which is always false.
    Case Value Try
    2 < 12 true Try It
    2 < "12" true Try It
    2 < "John" false Try It
    2 > "John" false Try It
    2 == "John" false Try It
    "2" < "12" false Try It
    "2" > "12" true Try It
    "2" == "12" false Try It
    • When comparing two strings, "2" will be greater than "12", because (alphabetically) 1 is less than 2.
    • To secure a proper result, variables should be converted to the proper type before comparison:
    age = Number(age);
    if (isNaN(age)) {
      voteable = "Input is not a number";
    } else {
      voteable = (age < 18) ? "Too young" : "Old enough";
    }

    Try it yourself

    Navigate this module

    Eventually the navigation links, above, will be replaced by these << (previous) and >> (next) buttons below.



    JavaScript icons used in the buttons provided by ICONS8.COM. Smartphone icons created by Freepik - Flaticon