this post was submitted on 28 Nov 2023
584 points (97.7% liked)

Programmer Humor

32549 readers
497 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 23 points 1 year ago* (last edited 1 year ago) (2 children)

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 use typeof (or similar constructs like a type guard).

https://www.typescriptlang.org/docs/handbook/2/typeof-types.html

[โ€“] [email protected] 3 points 1 year ago* (last edited 1 year ago)

But generic type syntax is a feature exclusive to Typescript while typeof is a JavaScript thing. You'd never get Pie[Pie[T]] as a result from a typeof 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 not typeof(foo) in js