JavaScript Object is() Method
JavaScript
Object.is()
method is used to compare if two values are the same value.
Object.is()
returns true
if the values are the same, and false
otherwise. It differs from the strict equality operator ===
in the handling of NaN and positive/negative zero.
Syntax:
Object.is(value1, value2)
Parameters:
Object.is() Method takes two parameters:
- value1: It is the first value to be compared.
- value2: It is the second value to be compared.
Return Value:
Object.is() returns a boolean indicating whether the two arguments are the same or not.
JavaScript Object is() Method Examples
Example: In this example, Object.is()
returns true
for the first comparison because both values are 5
, but false
for the second comparison because 5
and '5'
are of different types. It returns true
for NaN
comparison because NaN
is considered the same value as itself, and false
for 0
and -0
comparison because they are considered different values.
console.log(Object.is(5, 5)); // true
console.log(Object.is(5, '5')); // false
console.log(Object.is(NaN, NaN)); // true
console.log(Object.is(0, -0)); // false
Output
true false true false
Exceptions
- The “==” and “===” operator treats the number values “+0” and “-0” as equal but the object.is() method treats them differently.
- The Object.is() method does not coerce values before comparison even if they are of different data types.
Two values can be the same if they hold one of the following properties:
- If both the values are undefined.
- If both the values are null.
- If both the values are true or false.
- If both the strings are of the same length with the same characters and in the same order.
- If both the values are numbers and both are “+0” or both are ‘-0’.
- If both the values are numbers and both are “NaN” or both non-zero and both not NaN and both have the same value.
We have a complete list of Javascript Object methods, to check those please go through this JavaScript Object Complete Reference article.
Supported Browser:
- Google Chrome30 and above
- Edge 12 and above
- Firefox 22 and above
- Opera 17 and above
- Safari 9 and above