const modifier on type parameters (#51865)
* `const` modifier on type parameters + revised contextual type logic * Accept new baselines * Fix modifier checking * Add tests * Cache isConstTypeVariable check * Revert "Cache isConstTypeVariable check" This reverts commit f8fd1fd29f7975fcc3aeac8675c2cb107da33065. * Fewer isConstTypeParameterContext checks * Pay attention to cached `undefined` contextual type * Allow `const` modifier in more places + properly print back * Also permit `const` in method signature type parameters * Fix parsing of `const` modifier in array expression type parameters * Accept new baselines * Remove unused properties from NodeLinks * Rename `permitInvalidConstAsModifier` to `permitConstAsModifier`
TypeScript
TypeScript is a language for application-scale JavaScript. TypeScript adds optional types to JavaScript that support tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript. Try it out at the playground, and stay up to date via our blog and Twitter account.
Find others who are using TypeScript at our community page.
Installing
For the latest stable version:
npm install -g typescript
For our nightly builds:
npm install -g typescript@next
Contribute
There are many ways to contribute to TypeScript.
- Submit bugs and help us verify fixes as they are checked in.
- Review the source code changes.
- Engage with other TypeScript users and developers on StackOverflow.
- Help each other in the TypeScript Community Discord.
- Join the #typescript discussion on Twitter.
- Contribute bug fixes.
- Read the archived language specification (docx, pdf, md).
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Documentation
Roadmap
For details on our planned features and future direction please refer to our roadmap.