
What is the difference between “==” and “===”?
The fundamental difference between the == and === operators in JavaScript is that the == operator compares the operand’s types before comparing them, whereas the === operator compares the operand’s values as well as their data type.
Double Equals for Equality
== operator is used for comparison between two variables irrespective of their data type.
Triple Equals for Identity
=== operator is used for comparison between two variables but this will have a strict type check, which means it will check data type and compare both the values of the variables.
Test Cases
Double Equals:
var num1 = 5; var num2 = 5; console.log(num1 == num2); //true
Triple Equals var num1 = 5; var num2 = 5; console.log(num1 === num2); //true
Double Equals
var num1 = 5; var num2 = 5.0; console.log(num1 == num2); //true
Triple Equals
var num1 = 5; var num2 = 5.0; console.log(num1 === num2); //true
Double Equals
var num1 = "5"; var num2 = "5.0"; console.log(num1 == num2); //false Because "5" is string
Triple Equals
var num1 = "5"; var num2 = "5.0"; console.log(num1 === num2); //false Because "5" is string
Double Equals
var num1 = []; var num2 = []; console.log(num1 == num2); //false Because comparing arrays
Triple Equals
var num1 = []; var num2 = []; console.log(num1 === num2); //false Because comparing arrays
Double Equals
var num1 = {};
var num2 = {};
console.log(num1 == num2); //false Because comparing objectTriple Equals
var num1 = {};
var num2 = {};
console.log(num1 === num2); //false Because comparing objectJavaScript Code:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Difference between Double & Triple Equal</title>
</head>
<body>
<script>
var num1 = 5;
var num2 = 5;
console.log(num1 == num2); //true
var num1 = 5;
var num2 = 5.0;
console.log(num1 === num2); //true
var num1 = "5";
var num2 = "5.0";
console.log(num1 === num2); //false Because "5" is string
var num1 = [];
var num2 = [];
console.log(num1 === num2); //false Because comparing arrays
var num1 = {};
var num2 = {};
console.log(num1 === num2); //false Because comparing object
</script>
</body>
</html>
Share: