Why doesn't TypeScript properly type Object.keys?

This page summarizes the projects mentioned and recommended in the original post on /r/typescript

Civic Auth - Auth in Less Than 5 Minutes
Civic Auth comes with multiple SSO options, optional embedded wallets, and user management — all implemented with just a few lines of code. Start building today.
www.civic.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    While I understand the motivation for this design, I do feel in practice it ends up being one of the biggest pain points in TS. In reality, you very often know exactly which keys will be present. Those cases require a great deal of ceremony and/or casting. If some version of the Exact types proposal were implemented, IMO it would be the biggest feature in years.

  2. Civic Auth

    Auth in Less Than 5 Minutes. Civic Auth comes with multiple SSO options, optional embedded wallets, and user management — all implemented with just a few lines of code. Start building today.

    Civic Auth logo
  3. proposal-record-tuple

    ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!

    I suspect considering the strong desire to maintain consistency with JavaScript, we will eventually see something that when the Record proposal passes through tc39

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Are there common bad usages of “as”?

    2 projects | /r/typescript | 30 Nov 2022
  • Future Javascript: Records and Tuples

    3 projects | /r/javascript | 21 Feb 2022
  • Typescript says object is possibly 'undefined' for an object property, even after checking/narrowing if the property exists.

    2 projects | /r/typescript | 10 Feb 2022
  • All I Want for Christmas Is These Seven TypeScript Improvements

    3 projects | news.ycombinator.com | 25 Dec 2022
  • The Record/Tuple ECMAScript Proposal has been withdrawn

    1 project | news.ycombinator.com | 22 Apr 2025

Did you know that TypeScript is
the 1st most popular programming language
based on number of references?