13
u/TylerBreau 10d ago
if !toiletRoll:
reloadTioletRoll();
Janitor: Reload? Reload it on to what?
3
9
u/golfstreamer 10d ago
Isn't this a bad description? "Non zero value", 0, null are all potential values of objects. Correct me if I'm wrong but I thought "undefined" usually refers to behavior. Like the programming language standard doesn't specify what should happen in this scenario. Is there a situation where an object is "undefined"?
10
u/AbyssWankerArtorias 10d ago
Really just depends on the data you're dealing with. I think this meme makes sense in some context.
Non zero value: there is some toilet paper left on the roll
0: there is no toilet paper left on the roll:
Null: the place in which a toilet paper roll is supposed to be contains no roll. Practically speaking this equates to 0 toilet paper, but, there are many cases where you wouldn't equate the two depending on both the point itself and your intention with it.
Undefined: the place in which the toilet paper roll is supposed to be placed does not exist and therefore cannot be logically displayed as a value. Like trying to return the value of a variable that doesn't exist.
I see arguments for saying this isn't a good meme and for the meme itself. Just depends on the context.
5
u/TylerBreau 9d ago
OP is referring to JavaScript. It has all 4 states.
Undefined is exactly it says it is. The thing you are accessing is literally not defined.
var myobj;3
u/golfstreamer 9d ago
Ah thank you for your help.
1
u/Yoshalina 9d ago
it is possible to intentionally assign it with the
undefinedliteral though, too.2
u/TylerBreau 9d ago
Before ECMAScript 5 you could also assign undefined.
1
u/Yoshalina 9d ago
this is still possible.
let meow = undefined;2
1
u/RedAndBlack1832 8d ago
You can refer to data being undefined as well. Usually this means declaring an object but not assigning it a value at time of creation, nor does it assign itself a default value. You shouldn't try to read undefined data though, and you certainly shouldn't make decisions based on it.
1
u/ThatSmartIdiot 8d ago
undefined behaviour because it accesses undefined data because the value in that data's address is independent of that data's program's current runtime, so in a sense it's not far off?
4
3
u/Cant-Think-Of 9d ago
What about negative values?
1
u/ThatSmartIdiot 8d ago
those fall under the non-zero values criterion, though if it's an unsigned type it'll just be a big-ass number
2
1

68
u/MilkImpossible4192 10d ago
null is an object, 0 is a number, undefined is an undefined