-
Notifications
You must be signed in to change notification settings - Fork 12.6k
What's new in TypeScript
Because this page hit a limit on a GitHub wiki page size, it's now hosted on the website: https://www.typescriptlang.org/docs/handbook/release-notes/overview.html
See TypeScript 3.6
See More Accurate Array Spread
See Improved UX Around Promises
See Better Unicode Support for Identifiers
See import.meta
Support in SystemJS
See get
and set
Accessors Are Allowed in Ambient Contexts
See Ambient Classes and Functions Can Merge
See APIs to Support --build
and --incremental
See Semicolon-Aware Code Edits
See Smarter Auto-Import Syntax
See await
Completions on Promises
See TypeScript 3.5
See --incremental
improvements
See Improved excess property checks in union types
See The --allowUmdGlobalAccess
flag
See Smarter union type checking
See Higher order type inference from generic constructors
See TypeScript 3.4
See Faster subsequent builds with the --incremental
flag
See outFile
See Higher order type inference from generic functions
See Improvements for ReadonlyArray
and readonly
tuples
See A new syntax for ReadonlyArray
See readonly
tuples
See readonly
mapped type modifiers and readonly
arrays
See Caveats
See const
assertions
See Caveats
See Type-checking for globalThis
See TypeScript 3.3
See Improved behavior for calling union types
See Caveats
See Incremental file watching for composite projects in --build --watch
See TypeScript 3.2
See Caveats
See Generic spread expressions in object literals
See Generic object rest variables and parameters
See BigInt
See Caveats
See Non-unit types as union discriminants
See tsconfig.json
inheritance via Node.js packages
See Object.defineProperty
declarations in JavaScript
See TypeScript 3.1
See Mapped types on tuples and arrays
See Properties declarations on functions
See Version selection with typesVersions
See Multiple fields
See TypeScript 3.0
See Tuples in rest parameters and spread expressions
See Rest parameters with tuple types
See Spread expressions with tuple types
See Example
See Optional elements in tuple types
See Example
See Rest elements in tuple types
See Example
See Example
See Support for defaultProps
in JSX
See Caveats
See Explicit types on defaultProps
See /// <reference lib="..." />
reference directives
See Example
See TypeScript 2.9
See Support number
and symbol
named properties with keyof
and mapped types
See Example
See Example
See Recommendations
See Generic type arguments in JSX elements
See Example
See Generic type arguments in generic tagged templates
See Example
See import
types
See Example
See Relaxing declaration emit visiblity rules
See Example
See Example
See --pretty
output by default
See TypeScript 2.8
See Example
See Distributive conditional types
See Example
See Example
See Example
See Type inference in conditional types
See Predefined conditional types
See Example
See Improved control over mapped type modifiers
See Example
See Example
See Example
See Improved keyof
with intersection types
See Example
See Better handling for namespace patterns in .js
files
See IIFEs as namespace declarations
See Nested and merged declarations
See Example
See Locally scoped JSX namespaces
See New --emitDeclarationsOnly
See TypeScript 2.7
See Example
See Example
See unique symbol
See Example
See Example
See Strict Class Initialization
See Definite Assignment Assertions
See Improved type inference for object literals
See Example
See Improved handling of structurally identical classes and instanceof
expressions
See Example:
See Type guards inferred from in
operator
See Example
See Support for import d from "cjs"
form CommonJS modules with --esModuleInterop
See Example
See Example
See Cleaner output in --watch
mode
See TypeScript 2.6
See Example
See Note:
See Support for JSX Fragment Syntax
See Cache tagged template objects in modules
See Example
See Localized diagnostics on the command line
See Example
See Suppress errors in .ts files using '// @ts-ignore' comments
See Example
See Write-only references now flagged as unused
See Example
See Example
See TypeScript 2.5
See Optional catch
clause variables
See Type assertion/cast syntax in checkJs
/@ts-check
mode
See Deduplicated and redirected packages
See The --preserveSymlinks
compiler flag
See TypeScript 2.4
See Dynamic Import Expressions
See String Enums
See Improved inference for generics
See Return types as inference targets
See Type parameter inference from contextual types
See Stricter checking for generic functions
See Strict contravariance for callback parameters
See TypeScript 2.3
See Generators and Iteration for ES5/ES3
See Iterators
See Generators
See Async Iteration
See Async iterators
See Async Generators
See The for-await-of
Statement
See Caveats
See Generic parameter defaults
See Example
See New --strict
master option
See Errors in .js files with --checkJs
See TypeScript 2.2
See Support for Mix-in classes
See Putting all of the above rules together in an example:
See object
type
See Example
See Better checking for null
/undefined
in operands of expressions
See Dotted property for types with string index signatures
See Support for spread operator on JSX element children
See Example
See TypeScript 2.1
See Example
See Example
See Mapped Types
See Partial
, Readonly
, Record
, and Pick
See Example
See tsconfig.json
See Support for external helpers library (tslib
)
See Untyped imports
See Example
See Support for --target ES2016
, --target ES2017
and --target ESNext
See Example
See Example
See Better inference for literal types
See Example
See Example
See Use returned values from super calls as 'this'
See Example
See Example
See TypeScript 2.0
See Null- and undefined-aware types
See Example
See Assigned-before-use checking
See Example
See Optional parameters and properties
See Non-null and non-undefined type guards
See Example
See Dotted names in type guards
See Example
See Type widening
See Non-null assertion operator
See Compatibility
See Control flow based type analysis
See Example
See Example
See The never
type
See Read-only properties and index signatures
See Example
See Specifying the type of this
for functions
See this
parameters in callbacks
See Example
See --noImplicitThis
See Glob support in tsconfig.json
See Example
See Module resolution enhancements: BaseUrl, Path mapping, rootDirs and tracing
See Base URL
See Example
See Path mapping
See Example
See Virtual Directories with rootDirs
See Example
See Shorthand ambient module declarations
See Wildcard character in module names
See Example
See Example
See Support for UMD module definitions
See math-lib.d.ts
See Example
See Private and Protected Constructors
See Example
See Abstract properties and accessors
See Example
See Including built-in type declarations with --lib
See Example
See Flag unused declarations with --noUnusedParameters
and --noUnusedLocals
See Example
See Module identifiers allow for .js
extension
See Support 'target : es5' with 'module: es6'
See Trailing commas in function parameter and argument lists
See Example
See Allow duplicate identifiers across declarations
See Example
See TypeScript 1.8
See Type parameters as constraints
See Example
See Control flow analysis errors
See Unreachable code
See Example
See Unused labels
See Example
See Implicit returns
See Example
See Example
See Stateless Function Components in React
See Simplified props
type management in React
See Augmenting global/module scope from modules
See Example
See Example
See Improved union/intersection type inference
See Example
See Concatenate AMD
and System
modules with --outFile
See Example
See Support for default
import interop with SystemJS
See Allow captured let
/const
in loops
See Example
See Improved checking for for..in
statements
See Example
See Modules are now emitted with a "use strict";
prologue
See Including .js
files with --allowJs
See Custom JSX factories using --reactNamespace
See Example
See Example
See Official TypeScript NuGet package
See Prettier error messages from tsc
See Colorization of JSX code in VS 2015
See The --project
(-p
) flag can now take any file path
See Allow comments in tsconfig.json
See Support output to IPC-driven files
See Improved support for tsconfig.json
in Visual Studio 2015
See TypeScript 1.7
See async
/await
support in ES6 targets (Node v4+)
See Example
See Support for --target ES6
with --module
See Example
See this
-typing
See ES7 exponentiation operator
See Example
See Improved checking for destructuring object literal
See Example
See Support for decorators when targeting ES3
See TypeScript 1.6
See JSX support
See New .tsx
file extension and as
operator
See Using React
See Using other JSX frameworks
See Example
See abstract
classes and methods
See Examples
See Stricter object literal assignment checks
See Examples
See ES6 generators
See Experimental support for async
functions
See Example
See Nightly builds
See Adjustments in module resolution logic
See Merging ambient class and interface declaration
See User-defined type guard functions
See Examples
See exclude
property support in tsconfig.json
See --init
command line option
See TypeScript 1.5
See ES6 Modules ##
See Re-exporting
See Default Export
See Bare Import
See Destructuring in declarations and assignments
See Declarations
See Assignments
See Const
See Block scoped
See for..of support
See Example
See Decorators
See Example
See Support for UMD
and System
module output
See Unicode codepoint escapes in strings
See Tagged template strings in ES3/ES5
See AMD-dependency optional names
See Project support through tsconfig.json
See Example
See --rootDir
command line option
See --noEmitHelpers
command line option
See --newLine
command line option
See --inlineSourceMap
and inlineSources
command line options
See TypeScript 1.4
See Union types
See Overview
See let
declarations
See Template strings
See Type Guards
See Type Aliases
See const enum
(completely inlined enums)
See -noEmitOnError
commandline option
See AMD Module names
See TypeScript 1.3
See Protected
See Tuple types
See TypeScript 1.1
News
Debugging TypeScript
- Performance
- Performance-Tracing
- Debugging-Language-Service-in-VS-Code
- Getting-logs-from-TS-Server-in-VS-Code
- JavaScript-Language-Service-in-Visual-Studio
- Providing-Visual-Studio-Repro-Steps
Contributing to TypeScript
- Contributing to TypeScript
- TypeScript Design Goals
- Coding Guidelines
- Useful Links for TypeScript Issue Management
- Writing Good Design Proposals
- Compiler Repo Notes
- Deployment
Building Tools for TypeScript
- Architectural Overview
- Using the Compiler API
- Using the Language Service API
- Standalone Server (tsserver)
- TypeScript MSBuild In Depth
- Debugging Language Service in VS Code
- Writing a Language Service Plugin
- Docker Quickstart
FAQs
The Main Repo