Search

Updated: Feb 14

# JavaScript Comparison and Logical Operators

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

• == equal to x == 8 false

• x == 5 true

• x == "5" true

• === equal value and equal type x === 5 true

• x === "5" false

• != not equal x != 8 true

• !== not equal value or not equal type x !== 5 false

• x !== "5" true

• x !== 8 true

• > greater than x > 8 false

• < less than x < 8 true

• >= greater than or equal to x >= 8 false

• <= less than or equal to x <= 8 true

## 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";

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

===========================================================

&& and (x < 10 && y > 1) is true

|| . or (x == 5 || y == 5) is false

! not . !(x == y) is true

## 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:

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

=====================================

2 < 12 true

2 < "12" true

2 < "John" false

2 > "John" false

2 == "John" false

"2" < "12" false

"2" > "12" true

"2" == "12" false

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"; }

for more visit other javascript category

Tel: (+91) 0120  4118730

Time :   10 : 00  AM -  08 : 00 PM IST
{"ft_lang_label":"__label__en","ft_lang_prob":0.7474709,"math_prob":0.99014056,"size":2525,"snap":"2020-24-2020-29","text_gpt3_token_len":620,"char_repetition_ratio":0.17017056,"word_repetition_ratio":0.030837005,"special_character_ratio":0.31445545,"punctuation_ratio":0.0988764,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9908758,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2020-06-06T17:33:34Z\",\"WARC-Record-ID\":\"<urn:uuid:0f87a3e2-0ab0-42fb-b0da-6c096b7782b9>\",\"Content-Length\":\"702251\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:218814a9-bdfa-4006-98d0-6af17ab2b046>\",\"WARC-Concurrent-To\":\"<urn:uuid:4bc82eff-ed85-4f03-a9da-e211c6ad5788>\",\"WARC-IP-Address\":\"185.230.60.195\",\"WARC-Target-URI\":\"https://www.codersarts.com/post/javascript-1\",\"WARC-Payload-Digest\":\"sha1:UHHF4YJX4DM224JLDUX56H4WQHFHAYDE\",\"WARC-Block-Digest\":\"sha1:HH4Z2GRSVJ5VCR57NYSJFKQQPTOJQCTY\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2020/CC-MAIN-2020-24/CC-MAIN-2020-24_segments_1590348517506.81_warc_CC-MAIN-20200606155701-20200606185701-00441.warc.gz\"}"}