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

typeof operator isn't documented #1305

Open

Description

@estaub

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

Activity

  1. dwarburt commented on Mar 10, 2020

    @dwarburt

    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.

  2. estaub commented on Mar 10, 2020

    @estaub
    Author

    David Warburton (@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.

  3. dwarburt commented on Mar 10, 2020

    @dwarburt

    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.

  4. jpelton-stroud commented on May 3, 2020

    @jpelton-stroud

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

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

  5. estaub commented on May 3, 2020

    @estaub
    Author

    Joshua Pelton-Stroud (@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 }
  6. jpelton-stroud commented on May 3, 2020

    @jpelton-stroud

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions