Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

typeof operator isn't documented #1305

Open
estaub opened this issue Mar 6, 2020 · 6 comments
Open

typeof operator isn't documented #1305

estaub opened this issue Mar 6, 2020 · 6 comments

Comments

@estaub
Copy link

estaub commented Mar 6, 2020

The typeof operator, as used in type queries rather than Javascript, isn't documented, other than as used in documentation of other things, like type guards. Because it is overloaded from the Javascript operator, there can be lots of novice puzzlement.

If your reaction is "that can't possibly be", please look for yourself!

I'd provide a PR, but the wording should be much more precise and consistent than I'm able to do. A starting point might be https://mariusschulz.com/blog/type-queries-and-typeof-in-typescript#typescripts-type-queries

@dwarburt
Copy link

I came here because I couldn't find documentation for the switch statement in the handbook. It seems like there is a missing page for "expressions" that could cover typeof, switch and others.

@estaub
Copy link
Author

estaub commented Mar 10, 2020

@dwarburt AFAIK switch in Typescript is unmodified from Javascript. Is there something Typescript-specific you were looking for? The handbook doesn't cover most of vanilla Javascript, for obvious reasons. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch.

@dwarburt
Copy link

dwarburt commented Mar 10, 2020

I was trying to find out if it's possible to switch on the type of a variable. It's not obvious to me that the handbook shouldn't cover all the parts of the language. It certainly covers a lot of vanilla JavaScript already.

At least it would be nice if it said somewhere that this particular language construct is unmodified.

@jpelton-stroud
Copy link

The typeof operator, as used in type queries rather than Javascript, isn't documented

Like @estaub mentioned of switch, typeof is also a native JS operator: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof

@estaub
Copy link
Author

estaub commented May 3, 2020

@jpelton-stroud Sorry, but I'm not sure what your point was. If you were saying that the MDN doc covers use of typeof in TS as a type query operator, you'd be wrong; static typing is a foreign concept to JS that can't even begin to be discussed in JS terms. I suppose I should provide an example, to be crystal clear:

    const JoeSchmoe = { name: 'Schmoe, Joe', district: '42' }
    type legislator = typeof JoeSchmoe  // == { name: string; district: string }

@jpelton-stroud
Copy link

ah, apparently I fell prey to that "novice puzzlement" you mentioned :P Thank you for the clarification!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants