Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is exactly the meaning of "===" in javascript? [duplicate]

Tags:

javascript

People also ask

What's the meaning of === in JavaScript?

The strict equality operator ( === ) checks whether its two operands are equal, returning a Boolean result. Unlike the equality operator, the strict equality operator always considers operands of different types to be different.

What is the meaning of === operator?

=== is the strict equality operator. It does not attempt to type coerce the operands. For example: 0 == false; //true (false coerces to 0) 0 === false; //false (no type coercion)

What does == and === mean in JavaScript?

The main difference between the == and === operator in javascript is that the == operator does the type conversion of the operands before comparison, whereas the === operator compares the values as well as the data types of the operands.

What does the === comparison do?

Strict equality using === Strict equality compares two values for equality. Neither value is implicitly converted to some other value before being compared. If the values have different types, the values are considered unequal.


'===' means equality without type coersion. In other words, if using the triple equals, the values must be equal in type as well.

e.g.

0==false   // true
0===false  // false, because they are of a different type
1=="1"     // true, auto type coersion
1==="1"    // false, because they are of a different type

Source: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html


Ripped from my blog: keithdonegan.com

The Equality Operator (==)

The equality operator (==) checks whether two operands are the same and returns true if they are the same and false if they are different.

The Identity Operator (===)

The identity operator checks whether two operands are “identical”.

These rules determine whether two values are identical:

  • They have to have the same type.
  • If number values have the same value they are identical, unless one or both are NaN.
  • If string values have the same value they are identical, unless the strings differ in length or content.
  • If both values refer to the same object, array or function they are identical.
  • If both values are null or undefined they are identical.

The === operator means "is exactly equal to," matching by both value and data type.

The == operator means "is equal to," matching by value only.


It tests exact equality of both value and type.

given the assignment
x = 7

x===7 is true
x==="7" is false