this post was submitted on 28 Nov 2023
583 points (97.7% liked)
Programmer Humor
31812 readers
556 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
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