[Four images of toilet roll holders, each with text above them.
The first shows a toilet roll holder holding a partially-used roll of toilet paper. Its text reads, "Non-zero value".
The second shows a holder holding a completely used roll of toilet paper, leaving just the cardboard tube. Its text reads, "0".
The third shows a holder with no toilet roll or cardboard tube on it at all. Its text reads, "null".
The fourth shows no holder; simply plain wall. Its text reads, "undefined".]
I am a human who transcribes posts to improve accessibility on Lemmy. Transcriptions help people who use screen readers or other assistive technology to use the site. For more information, see here.
No, at least for JS the picture for undefined should actually be for "not defined" which yes is different. Undefined would be an empty holder without the spool holder.
Depends on the programming language. In JavaScript, it literally means that like the key or variable does not actually exist. Whereas like in C/C++, writing random bytes to random memory addresses would result in "undefined behaviour" which means basically anything could happen.
Basically JavaScript uses undefined to mean keys that don't exist. You know how sometimes when you're wondering about the semantics of "present but null" and "absent"? It's basically that. Undefined means it isn't there but things are only null if they've been set to null.
There are probably more nuances but that is the gist.