this post was submitted on 28 Nov 2023
586 points (97.7% liked)
Programmer Humor
32410 readers
385 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 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Which language are we talking here? Cpp? Because typeof hasn't ever seemed useful to me in how I use cpp or how I have ever really used a language. I also remember it being criticized in java class more than 20 years ago when OOP was solely preached, even for scientific people like me.
This is likely referring to TypeScript.
TypeScript has all of these patterns, they are used very frequently and they are necessary because TypeScript tends to be interesting from time to time since its types only exist at compile time, because it compiles to JavaScript, which is a language without types.
TypeScript also allows
any
as a keyword, which says "I don't know which type this is and I don't care", which still produces valid JavaScript. To get back to typed variables it is necessary to usetypeof
(or similar constructs like a type guard).https://www.typescriptlang.org/docs/handbook/2/typeof-types.html
But generic type syntax is a feature exclusive to Typescript while
typeof
is a JavaScript thing. You'd never getPie[Pie[T]]
as a result from atypeof
check. (Please excuse the square brackets; seems like the markdown parser here isn't quite right and it keeps messing up the angle brackets)Also, it's
typeof foo
nottypeof(foo)
in js