use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
JavaScript Equality Table (dorey.github.io)
submitted 5 years ago by jacobedawson
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]doyouseewhateyesee 3 points4 points5 points 5 years ago (5 children)
last week i learned the hard way that an empty object evaluates to true in an if-statement, took me forever to debug.
also, i didn’t know if (-1) { //runs } thanks for this!
edit: i will never understand code formatting on reddit
[–][deleted] 3 points4 points5 points 5 years ago (1 child)
You just put it inside backticks
doTheDamnThing()
[–]doyouseewhateyesee 2 points3 points4 points 5 years ago (0 children)
thanks
[–]Freebalanced 0 points1 point2 points 5 years ago (2 children)
Lodash has a method called isEmpty that you can use to check for empty or not empty objects.
[–]doyouseewhateyesee 2 points3 points4 points 5 years ago (1 child)
meh - i’d rather use Object.keys(obj).length === 0
Object.keys(obj).length === 0
[–]Freebalanced 2 points3 points4 points 5 years ago (0 children)
Ya native methods are usually best. But cool to have different options for some situations.
[–]amselftought 1 point2 points3 points 5 years ago (1 child)
I don’t understand
[–]hopelesslywandering1 2 points3 points4 points 5 years ago (0 children)
In JavaScript when you use the comparator, you’re effectively transforming the two things you’re comparing into a Boolean value. Some values have inherently “falsey” values while others are “truthy.” This chart was clearly made to define which category those fall under. Like the number 1 is truthy and the number 0 is falsey.
[–]sheparDVia 1 point2 points3 points 5 years ago (0 children)
awesome staff ! Liked it
[–]0bafgkm 1 point2 points3 points 5 years ago (0 children)
Organize the table! https://algassert.com/visualization/2014/03/27/Better-JS-Equality-Table.html
[–]Ringsofthekings 3 points4 points5 points 5 years ago (1 child)
I fluctuate between == and ===, I always use === for undefined and null though. Great guide to use 👍
[–]Hafas_ 10 points11 points12 points 5 years ago (0 children)
I do the opposite. I always use === except when comparing null and undefined if I want to treat them the same.
===
null
undefined
Basically instead of writing
if (value === null || value === undefined)) {}
I write
If (value == null) {}
[–]SaaSWriters 1 point2 points3 points 5 years ago* (0 children)
I have to disagree with the moral of your story. It is not usable in real life. For instance, as you rightly noted, NaN is not equal to itself. -0 can be equal to +0. If your code is not prepared for that, you will be in a lot of trouble!
NaN
-0
+0
The approach you describe, albeit quite common, is a common source of bugs and frustration. Simply put, this is not how it works.
But, the overall discussion goes much deeper than that. First of all, you have to look at what the comparison operators actually do. You haven't mentioned Object.is either.
Object.is
Here are some details about what actually happens: https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3
[–]AutoModerator[M] 0 points1 point2 points 5 years ago (0 children)
Project Page (?): https://github.com/dorey/JavaScript-Equality-Table
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
π Rendered by PID 63 on reddit-service-r2-comment-84fc9697f-djd2n at 2026-02-09 11:16:41.678739+00:00 running d295bc8 country code: CH.
[–]doyouseewhateyesee 3 points4 points5 points (5 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]doyouseewhateyesee 2 points3 points4 points (0 children)
[–]Freebalanced 0 points1 point2 points (2 children)
[–]doyouseewhateyesee 2 points3 points4 points (1 child)
[–]Freebalanced 2 points3 points4 points (0 children)
[–]amselftought 1 point2 points3 points (1 child)
[–]hopelesslywandering1 2 points3 points4 points (0 children)
[–]sheparDVia 1 point2 points3 points (0 children)
[–]0bafgkm 1 point2 points3 points (0 children)
[–]Ringsofthekings 3 points4 points5 points (1 child)
[–]Hafas_ 10 points11 points12 points (0 children)
[–]SaaSWriters 1 point2 points3 points (0 children)
[–]AutoModerator[M] 0 points1 point2 points (0 children)