Skip to main content

Double (==) equal and Triple (===) equal sign - how it works on JavaScript | a brief explanation!

 In JavaScript, we may come across double equal (==) and triple equal (===) sign while checking the equality of two variables' values.

But why two different operators are there for the same operation of equality check? What do they actually mean? You will find the answers in this blog.



1. How == (double equal) works

Double equal does the loose equality check. It checks the value equality only. It converts the type of the variables to match each other. Some common examples of double equal (==) check of two variables x and y are given below in tabular form -

x
y
x==y
undefined
undefined / null
true
undefined
true / false / NaN / 0 / 17 / 'string'
false
null
true / false / NaN / 0 / 12 / 'string'
false
null
null / undefined
true
NaN
any-value
false
new String("mukitul")
"mukitul"
true
{property:'value'}
{property:'value'}
false

2. How === (triple equal) works
Triple equal does the strict equality check. It checks the equality of the value and the variable's type. It doesn't forcefully convert the type of variables. Some common examples of double equal (===) check of two variables x and y are given below in tabular form -
x
y
x===y
undefined
undefined
true
undefined
null / true / false / NaN / 0 / 17 / 'string'
false
null
true / false / NaN / 0 / 12 / 'string'
false
null
null
true
NaN
any-value
false
new String("mukitul")
"mukitul"
false
{property:'value'}
{property:'value'}
false

3. When to use == or ===
Triple equal (===) operator ensures two operands (or variables) are of the same value and type when it returns true or returns false. Double equal (==) doesn't check type equality, it only considers the value of two operands.
Suppose a scenario where the response from an API call gives both "true" and true, in this case, we can check the response in JavaScript/client-side using double equal (==). But we should keep in mind that, it is highly recommended to use triple equal (===) when checking the equality of two operands unless there is any extreme situation occurs like the above scenario.

So, if we don't have any strong use case for using double equal (==) then we must use triple equal (===) which will save us from many potential bugs.

Have a good day!

Comments

Popular posts from this blog

Part 1: Connecting AI to My Daily Tools – A Simple MCP-Powered TODO App

Imagine asking an AI to manage your TODO list, run a local script, or update a file - it does exactly that, like a virtual assistant plugged into your computer. This is now possible thanks to something called MCP ( Model Context Protocol ).  What is MCP?   MCP (Model Context Protocol) is a lightweight protocol proposed by Anthropic that enables AI models to interact with tools in a structured and transparent manner. It lets you define tools in an AI-readable format — including their names, parameters, descriptions, and return types — so that LLMs like Claude, GPT (and others) can understand and call them safely. With MCP, you can turn your scripts, utilities, and services into AI-callable tools, effectively giving the model "extensions" into your local environment or applications.  Image Source: fb.com/devtalks My First Experiment: A TODO List MCP Server   To explore MCP in action, I created a simple MCP server that exposes two tools:   đŸ“ addTodo(day,...

āĻ•িāĻ­াāĻŦে āωāχāύ্āĻĄোāϜ ā§§ā§Ļ āĻ Java/JDK ā§Ž āχāύ্āϏāϟāϞ āĻ•āϰāĻŦেāύ? JDK 8 installation guide!

āĻāχ āĻŦ্āϞāĻ—ে āφāĻŽāϰা āĻĻেāĻ–āĻŦো āĻ•িāĻ­াāĻŦে āĻāĻ•āϟি āωāχāύ্āĻĄোāϜ ā§§ā§Ļ āĻĒিāϏি āϤে Java/JDK āχāύ্āϏāϟāϞ āĻ•āϰāϤে āĻšā§Ÿ। Java āχāύ্āϏāϟāϞ āĻ•āϰা āĻŦāϞāϤে āφāĻŽāϰা āĻŦুāĻāĻŦো JDK āĻŦা Java Development Kit āχāύ্āϏāϟāϞ āĻ•āϰাāĻ•ে। āφāĻŽāϰা āĻāχ āĻŦ্āϞāĻ—ে āϜাāύāĻŦো āĻ•ি āĻ•āϰে Oracle JDK āĻāϰ āĻ­াāϰ্āϏāύ ā§Ž āχāύ্āϏāϟāϞ āĻ•āϰāϤে āĻšā§Ÿ। āϧাāĻĒ ā§§ঃ āĻĄাāωāύāϞোāĻĄ JDK ā§Ž āĻĄাāωāύāϞোāĻĄ āϞিāĻ™্āĻ•ঃ  https://www.oracle.com/java/technologies/downloads/#java8 āĻ…āĻĨāĻŦা  https://www.oracle.com/java/technologies/downloads/  āĻāχ āϞিāĻ™্āĻ• āĻ āĻ—ি⧟েāĻ“ āϏ্āĻ•্āϰāϞ āĻ•āϰে āύিāϚে āύেāĻŽে Java 8 choose āĻ•āϰāϤে āĻĒাāϰেāύ। Available product/file āĻ—ুāϞো āĻĨেāĻ•ে x64 Installer āĻāϰ .exe file āϟা āĻĄাāωāύāϞোāĻĄ āĻ•āϰি (āϤāĻŦে āφāĻĒāύাāϰ āĻĒিāϏি āϝāĻĻি 32-bit āĻ…āĻĒাāϰেāϟিং āϏিāϏ্āϟেāĻŽ āĻāϰ āĻšā§Ÿ, āϏেāĻ•্āώেāϤ্āϰে āφāĻĒāύি āĻĄাāωāύāϞোāĻĄ āĻ•āϰāĻŦেāύ x86 Installer āĻāϰ exe file āϟা-āĻ•ে)। āĻĄাāωāύāϞোāĻĄ āĻ•āϰাāϰ āϜāύ্āϝ Oracle āĻ āĻ…্āϝাāĻ•াāωāύ্āϟ āĻĨাāĻ•āϤে āĻšā§Ÿ। āφāĻĒāύাāϰ āϝāĻĻি āĻ…্āϝাāĻ•াāωāύ্āϟ āύা āĻĨাāĻ•ে āϤāĻŦে āĻ…্āϝাāĻ•াāωāύ্āϟ create āĻ•āϰে āύিāĻŦেāύ। Oracle āĻ āĻ…্āϝাāĻ•াāωāύ্āϟ create āĻ•āϰা āĻāĻ•āĻĻāĻŽ free of cost. āϧাāĻĒ ā§¨ঃ āχāύ্āϏāϟāϞ JDK ā§Ž āĻĄাāωāύāϞোāĻĄ āĻ•āϰা āĻšā§Ÿে āĻ—েāϞে .exe āϟাāϤে double click āĻ•āϰে āχāύ্āϏāϟāϞ āĻ•āϰা āĻļুāϰু āĻ•āϰি। āύিāϚেāϰ āĻ›āĻŦি āĻ—ুāϞোāϰ āĻŽāϤো āĻāĻ•āϟা āĻ•āϰা āωāχāύ্āĻĄো āφāĻĒāύাāϰ āϏাāĻŽāύে āĻ“āĻĒেāύ āĻšāĻŦে āĻāĻŦং āφāĻĒāύি Next button āĻ•্āϞিāĻ• āĻ•āϰে āϏাāĻŽāύে āĻāĻ—ি⧟ে āϝা...

JDK 17 installation guide | āĻ•িāĻ­াāĻŦে āωāχāύ্āĻĄোāϜ ā§§ā§Ļ āĻ Java/JDK ā§§ā§­ āχāύ্āϏāϟāϞ āĻ•āϰāĻŦেāύ? How to install JDK 17 on windows 10?

āĻāχ āĻŦ্āϞāĻ—ে āφāĻŽāϰা āϜাāύāĻŦো āĻ•িāĻ­াāĻŦে āωāχāύ্āĻĄোāϜ ā§§ā§Ļ āĻĒিāϏি āϤে Java/JDK āχāύ্āϏāϟāϞ āĻ•āϰāϤে āĻšā§Ÿ। Java āχāύ্āϏāϟāϞ āĻ•āϰা āĻŦāϞāϤে āφāĻŽāϰা āĻŦুāĻāĻŦো JDK āĻŦা Java Development Kit āχāύ্āϏāϟāϞ āĻ•āϰাāĻ•ে। āφāĻŽāϰা āĻāχ āĻŦ্āϞāĻ—ে Oracle JDK āĻāϰ āĻ­াāϰ্āϏāύ ā§§ā§­ āĻ•িāĻ­াāĻŦে āχāύ্āϏāϟāϞ āĻ•āϰāϤে āĻšā§Ÿ āϏেāχ āϧাāĻĒāĻ—ুāϞো āϜাāύāĻŦো।  āϧাāĻĒ ā§§ঃ āĻĄাāωāύāϞোāĻĄ JDK ā§§ā§­ āĻĄাāωāύāϞোāĻĄ āϞিāĻ™্āĻ•ঃ  https://www.oracle.com/java/technologies/downloads/#java17 āĻ…āĻĨāĻŦা  https://www.oracle.com/java/technologies/downloads/  āĻāχ āϞিāĻ™্āĻ• āĻ āĻ—ি⧟েāĻ“ āϏ্āĻ•্āϰāϞ āĻ•āϰে āύিāϚে āύেāĻŽে Java 17 choose āĻ•āϰāϤে āĻĒাāϰেāύ। Available product/file āĻ—ুāϞো āĻĨেāĻ•ে x64 Installer āĻāϰ .exe file āϟা āĻĄাāωāύāϞোāĻĄ āĻ•āϰি। āĻĄাāωāύāϞোāĻĄ āĻ•āϰাāϰ āϜāύ্āϝ Oracle āĻ āĻ…্āϝাāĻ•াāωāύ্āϟ āĻĨাāĻ•āϤে āĻšā§Ÿ। āφāĻĒāύাāϰ āϝāĻĻি āĻ…্āϝাāĻ•াāωāύ্āϟ āύা āĻĨাāĻ•ে āϤāĻŦে āĻ…্āϝাāĻ•াāωāύ্āϟ create āĻ•āϰে āύিāĻŦেāύ। Oracle āĻ āĻ…্āϝাāĻ•াāωāύ্āϟ create āĻ•āϰা āĻāĻ•āĻĻāĻŽ free of cost. āϧাāĻĒ ā§¨ঃ āχāύ্āϏāϟāϞ JDK ā§§ā§­ āĻĄাāωāύāϞোāĻĄ āĻ•āϰা āĻšā§Ÿে āĻ—েāϞে .exe āϟাāϤে double click āĻ•āϰে āχāύ্āϏāϟāϞ āĻ•āϰা āĻļুāϰু āĻ•āϰি। āύিāϚেāϰ āĻ›āĻŦি āĻ—ুāϞোāϰ āĻŽāϤো āĻāĻ•āϟা āĻ•āϰা āωāχāύ্āĻĄো āφāĻĒāύাāϰ āϏাāĻŽāύে āĻ“āĻĒেāύ āĻšāĻŦে āĻāĻŦং āφāĻĒāύি Next button āĻ•্āϞিāĻ• āĻ•āϰে āϏাāĻŽāύে āĻāĻ—ি⧟ে āϝাāĻŦেāύ। āϏāĻŦāĻļেāώে Close button āĻ•্āϞিāĻ• āĻ•āϰে āχāύ্āϏāϟāϞ āĻ•āϰা āϏāĻŽ্āĻĒāύ্āύ āĻ•āϰāĻŦেāύ। āϧাāĻĒ ā§Šঃ Environment Variable āϏেāϟāφāĻĒ S...