JavaScript Comparisons

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

JavaScript provides three different value-comparison operations, loose equality, strict equality and Object.is. They have different usage so learn when to use them.

Learn more about JavaScript Booleans

Comparison Operators

Use comparison operators in logical statements to discover equality or difference between variables or values.

You might be familiar with comparison operators from the maths.

The returnvalue is a boolean type.

true – means “yes”, “correct” or “the truth”.
false – means “no”, “wrong” or “a lie”.

 

Operator Description Example Return

==

Equality check - Note that you must
use the double equation sign

This is also called a Loose Equality comparison

4 == 4

true

!=

Not Equal check (In maths the notation is )

This is also called a Loose Equality comparison

3 != 4

true

>

Greater than

3 > 4

false

<

Less than

3 < 4

true

>=

Greater than or equals

3 >= 4

3 >= 3

false

true

<=

Less than or equals

3 <= 4

3 <= 3

true

true

 ===

Equal value AND equal type.

This is also called a Strict Equality comparison

4 === 4

4 === "4"

true

false

!==

Not equal value OR not equal type

This is also called a Strict Equality comparison

4 !== 4

4 !== "4"

3 !== 4

false

true

true


Learn more about JavaScript Conditions Learn more about JavaScript Dates

Comparing Different Types

Comparing data of different types may give unexpected results.

JavaScript will convert the string to a number when comparing a string with a number. An empty string converts to 0. A non-numeric string converts to NaN (Not A Number) and will always be false.

Case Boolean Description

20 > 30

false

Comparing two numbers

20 > "30"

false

Converting "30" to number 30

20 > "Donald"
20 < "Donald"
20 == "Donald"

false

String converts to NaN

"20" > "30"

false

Converts both strings to numbers
before comparing them

"20" < "30"

true

Converts both strings to numbers
before comparing them

"20" == "30"

false

Converts both strings to numbers
before comparing them

"30" == "30"

true

Converts both strings to numbers
before comparing them


Learn more about JavaScript Arithmetics Learn more about JavaScript Statements

Object.is Comparing Operator

The Object.is() method determines whether two values are the same value.

Object.is will behave almost the same way as a Strict Equality comparison, but with special handling for NaN and -0 and +0.

JS JavaScript - Object.is Comparing Operator

// value1: The first value to compare.
// value2: The second value to compare.
// Return value: A Boolean indicating if the two arguments are the same value.
Object.is(value1, value2);

Object.is continue

Comparing two values with Object.is() method.

Two values are the same if one of the following holds:

  • both undefined
  • both null
  • both true or both false
  • both strings of the same length with the same characters in the same order
  • both the same object
  • both numbers and
    • both +0
    • both -0
    • both NaN
    • or both non-zero and both not NaN and both have the same value

Take a look at the examples to understand this:

JS JavaScript - Object.is continue

Object.is('car', 'car');     // true
Object.is(window, window);   // true
 
Object.is('car', 'bus');     // false
Object.is([], []);           // false
 
var test = { x: 1 };
Object.is(test, test);       // true
 
Object.is(null, null);       // true
 
// Special Cases
Object.is(0, -0);            // false
Object.is(-0, -0);           // true
Object.is(NaN, 0/0);         // true

Learn more about JavaScript Objects Learn more about JavaScript Booleans Learn more about JavaScript Numbers

Comparison Summary

  • Comparison operators return a logical value.

  • Strings are compared letter-by-letter in the “dictionary” order.

  • When values of different types are compared, they get converted to numbers (with the exclusion of a strict equality check).

  • Values null and undefined equal == each other and do not equal any other value.

  • Be careful when using comparisons like > or < with variables that can occasionally be null/undefined. Make a separate check for null/undefined.


BACK TO TOP






Check this out

JS JavaScript: break

The break statement terminates a current loop or a switch statement.

The continue statement "jumps over" one iteration in the current loop.

JS JavaScript: Math Object

JavaScript Math object enables mathematical tasks on numbers. 
The properties and methods of Math are static and can be called without creating the Math object.

JS JavaScript: Developer Tools

Developer Tools are tools that are a part of most modern web browsers.

Every Web Developer should know how to use the tools. The tools do a range of things, from inspecting currently-loaded HTML, CSS and JavaScript to showing which assets the page has requested and how long they took to l....

JS JavaScript: Var

Var is a keyword that is used to declare a variable.

But, you should NOT use var, use let when declaring a variable.

One of the most important things is that you should try to keep things simple!


BACK TO TOP

JavaScript is one of the 3 core language technologies of the World Wide Web that all web developers must learn:

1.      HTML to define the content of web pages.

2.      CSS to specify the layout of web pages.

3.      JavaScript to program the behavior of web pages.

JavaScript is a scripting or programming language that allows you to implement complex things on web pages. Every time a web page does more than just sit there and display static information for you to look at, displaying timely content updates, interactive maps, animated 2D/3D graphics, scrolling video jukeboxes, etc. − you can bet that JavaScript is probably involved.


The benefits of using JavaScript are:

1.      You can validate user input before sending the page off to the server. This saves server traffic, which means less load on your server.

2.      Immediate feedback to the visitors − They don't have to wait for a page reload to see if they have forgotten to enter something.

3.      Increased interactivity − You can create interfaces that react when the user hovers over them with a mouse or activates them via the keyboard.

4.      Richer interfaces − You can use JavaScript to include such items as drag-and-drop components and sliders to give a Rich Interface to your site visitors.


BACK TO TOP

Need more Honney

NDC Conferences

The NDC Conferences (Norwegian Developers Conference) are one of the world`s largest independent software conferences for .NET & Agile development. The conference covers everything you need to know within software development. The conferences are held each year in many places such as Oslo, Copenhagen, London, Sydney and Minnesota.

Update Conference Prague

Update Conference Prague is the biggest developer conference in the Czech Republic. The conference is offering sessions delivered by the top experts from all around the world. Their goal is to inspire the attendees and enrich their knowledge.

Troy Hunt

Learn about Web Security from Troy Hunt. He is a really engaged speaker that frequently give talks on conferences around the world. Troy is a Microsoft MVP and you can even learn from him on some great courses on Pluralsight.

W3Schools

W3Schools.com is a great education Web Site for learning web technologies. On W3Schools you may find well organized basic to advanced tutorials and references.

Scott Hanselman

Learn about Web Technologies and new trends from Scott Hanselman. Scott Hanselman is an author of developer books and he is an engaged speaker that usually talks about the Microsoft stack. You may meet Scott on conferences around the world.

Developer Week

DeveloperWeek is one of the world’s largest developer conferences. Developer Week focus on new dev technologies, the conference have talks and workshops for newbies and experienced audience. You can attend on a Developer Week conference different places in Nothern America.


BACK TO TOP

Honneybag blog



Learn JavaScript Debugging

Searching for bugs and fixing them is called code debugging. The bugs might be difficult to diagnose and therefore it is important to have a good approach to find and fix the bugs effectively. Bugs in the code might be syntax errors or logical errors. Sometimes nothing happens when the code contains bugs and there is few indications where to search. Modern web browser includes a powerful suite of developer tools. The tools do a range of things...

Explore JavaScript Arrays

Arrays are frequently used by developers. Programming languages can have slightly different implementation of arrays. An array is an object that can store a collection of items. You may say it`s a special variable that can have more than one value. The array holds many values under a single name, and you may access the values by referring to an index number. The easiest way to create....

Ultimate Guide to HTML Colors

It is essential to give the user a good user experience. There are many things you should focus on, one of them is how you use colors on your website. We don't have to struggle with black and white TVs anymore. Users expect more and more and we can apply colors to everything we want. Texts, borders, backgrounds, shadows – in HTML they all can have whatever color you decide....

Wanna be a sheep? Check out the most popular subjects
HONNEYBAG BLOG
HONNEYBAGBLOG INSPIRE-AND-BE-INSPIRED
HTML FORMATTING
JAVASCRIPT ESSENTIALS
HONNEYBAGBLOG EXPLORE-JAVASCRIPT-ARRAYS
Wanna be a little different? Check out the less popular subjects
HONNEYBAG BLOGER
HTML INTRODUCTION
HTML INTRODUCTION
HTML ESSENTIALS
HTML ESSENTIALSWE
BACK TO TOP