this post was submitted on 05 Oct 2023
1097 points (96.8% liked)
Programmer Humor
37640 readers
848 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Oh man, you've got me itching to get into the intricacies of JavaScript...
One fun example of the difference: when doing arithmetic operations,
null
is indeed converted to 0, butundefined
is converted to NaN. This has to do withnull
being an assigned value that represents empty, whereasundefined
is not actually a value but a response indicating that there was no value assigned in the first place.You can explicitly assign undefined to a variable though.
Another fun fact about JavaScript is that
undefined
never used to be a keyword. If you didvar foo = undefined
,foo
would indeed have a value ofundefined
, but it was only because there was no variable calledundefined
in scope!You could do
var undefined = 42
thenvar foo = undefined
would actually setfoo
to42
!window.undefined = 42
would break all sorts of things.Thankfully this was fixed with ES5 in 2009, although it took a few years for browsers to make the change.
javascript moment