11
u/Drugba Jul 16 '21
Cool slides, but I have two suggestions.
First, there six primitive types. You've left off BigInt and Symbol. I get why you did it, since this is for beginners and, personally, I've only used those once in a blue moon, but it might be better to say "there are four commonly used Javascript types", which allows you to leave those off without implying that they don't exist.
Second, I don't love the idea of squashing null and undefined into the same thing. They're different and I think one of the common mistakes I see beginners make is thinking they are just different names for the same thing. Since null has some weird behavior, I would have just left it off here and just had undefined
3
u/hsnice Jul 16 '21
Thanks for your suggestions, u/Drugba.
Yeah, I also personally have never use BigInt and Symbol so far. But thanks for your title "there are four commonly used Javascript types".
And thanks for sharing your idea on null and undefined.
5
u/vo0do0child Jul 16 '21
Cool slides. Would have been handy to learn as a beginner that a null value doesn’t crop up on its own and is usually an intentional absence of an object.
3
u/RoguePlanet1 Jul 16 '21
I've always understood it as "0" being a value, indicating the number of items like any other number, whereas "null" is the absence of any value at all.
Like if you want to indicate how many days off somebody took, and they don't respond, you can't put "0."
5
2
2
u/RoguePlanet1 Jul 16 '21
I'm a little thrown off by the positive vs negative infinity, it looks like the descriptions are switched. But it's probably because there's a dash used, which looks like a negative symbol.
2
u/Redditgaffx Jul 17 '21
Great deck, I would totally buy it if you cover the whole of JS. Looks so neat.
1
1
Jul 16 '21
I think there are a few more data structures than this available in Javascript. I even wrote an article about it, though there are many articles and documents available, if you doubt me. https://www.mariokandut.com/javascript-data-types-and-data-structures/
1
-1
u/xiipaoc Jul 16 '21
I guess object and function are not basic types? Also, null is an object.
WHICH IS STUPID, because I generally assume that if foo is an object, then I can check if 'bar' in foo, but I can't if foo is null, so I need to also do a null check. Not sure anything could be done about without massively breaking all existing code, unfortunately.
2
2
u/great_site_not Jul 17 '21
null is generally considered not to be an object--not just because it misbehaves as you're (rightfully) complaining about, but because it exists in memory as a tiny little primitive similar to an undefined or a number or a string, not a special annoying version of the sophisticated data structure of a JavaScript object.
the fact that typeof null == "object" isn't just misleading and stupid, it's actually a lie. and you already know why... it's for backwards compatibility. :(






13
u/tunelesspaper Jul 16 '21
Is there any good reason not to just always use backticks instead of quotation marks? I mean other than the fact that we’re used to using quotation marks.