# JavaScript Comparison and Logical Operators

« Previous
Next Chapter »

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 »
=== | equal value and equal type | x === "5" | false | Try it »
x === 5 | true | Try it »
!= | not equal | x != 8 | true | Try it »
!== | not equal value or not equal type | x !== "5" | true | Try it »
x !== 5 | false | 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";

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 Operator

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

### Syntax

variablename = (condition) ? value1:value2

### Example

voteable = (age < 18) ? "Too young":"Old enough";
Try it Yourself »

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".

## JavaScript Bitwise Operators

Bit operators work on 32 bits numbers.

Any numeric operand in the operation is converted into a 32 bit number.

The result is converted back to a JavaScript number.

## Example

x = 5 & 1;

The result in x:

1
Try it Yourself »

Operator | Description | Example | Same as | Result | Decimal
--- | --- | --- | --- | --- | ---
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2

| The examples above uses 4 bits unsigned examples. But JavaScript uses 32-bit signed numbers. Because of this, in JavaScript, ~ 5 will not return 10. It will return -6. ~00000000000000000000000000000101 will return 11111111111111111111111111111010

« Previous
Next Chapter »

### WEB HOSTING

UK Reseller Hosting

### WEB BUILDING

FREE Website BUILDER Free HTML5 Templates

### W3SCHOOLS EXAMS

HTML, CSS, JavaScript, PHP, jQuery, XML, and ASP Certifications

### SHARE THIS PAGE

### Color Picker

### HTML/CSS

HTML Tutorial HTML5 Tutorial CSS Tutorial CSS3 Tutorial Bootstrap Tutorial

### JavaScript

JavaScript Tutorial jQuery Tutorial jQuery Mobile Tutorial AngularJS Tutorial AJAX Tutorial JSON Tutorial

### Graphics

Canvas Tutorial SVG Tutorial Google Maps Tutorial

### Server Side

SQL Tutorial PHP Tutorial ASP Tutorial ASP.NET Tutorial VBScript Tutorial AppML Tutorial

### Web

Web Building Web Statistics Web Certification

### XML

XML Tutorial DTD Tutorial Schema Tutorial XML DOM Tutorial XPath Tutorial XSLT Tutorial XQuery Tutorial XSL-FO Tutorial RSS Tutorial WSDL Tutorial

### HTML/CSS

HTML Tag Reference HTML Event Reference HTML Color Reference CSS 1,2,3 Reference Bootstrap Reference

### JavaScript

JavaScript Reference HTML DOM Reference jQuery Reference jQuery Mobile Reference Google Maps Reference

### Server Side

PHP Reference SQL Reference ASP Reference VBScript Reference Razor Reference ASP.NET Reference

### XML

XML DOM Reference XSLT Reference XSL-FO Reference XPath Reference XQuery Reference Schema Reference RSS Reference SVG Reference

### HTML Charsets

HTML Character Sets HTML ASCII HTML ANSI HTML Windows-1252 HTML ISO-8859-1 HTML Symbols HTML UTF-8

### HTML/CSS

HTML Examples CSS Examples

### Browser Scripting

JavaScript Examples HTML DOM Examples jQuery Examples jQuery Mobile Examples AngularJS Examples AJAX Examples

### Server Scripting

PHP Examples ASP Examples VBScript Examples Razor Examples .NET Examples

### XML Languages

XML Examples DTD Examples XML DOM Examples XSL Examples XSLT Examples XPath Examples XQuery Examples Schema Examples RSS Examples SVG Examples