Unlock the Power of TypeScript 3.8
The latest version of TypeScript, 3.8, has arrived, packed with exciting features and improvements. As of now, version 3.8.3 is already available, so let’s dive in and explore the top five changes that will revolutionize your coding experience.
Upgrade to the Latest Version
Before we begin, make sure you’re running the latest version of TypeScript. You can upgrade using NPM with the command npm install typescript@latest
or npm -g upgrade typescript
(add the -g
option if you’re using it globally). If you’re using Visual Studio, Visual Studio Code, or Sublime Text, you can upgrade via their respective interfaces.
Type-Only Imports and Exports
TypeScript 3.8 introduces a new syntax for importing and exporting types, giving you more control over how import statements are handled in the output. The importsNotUsedAsValues
compiler option allows you to choose whether to drop or preserve import declarations. This feature is particularly useful when compiling with the --isolatedModules
option, the transpileModule
API, or Babel.
Export * as ns Syntax
TypeScript 3.8 supports the export * as namespace
syntax, allowing you to expose all members of another module as a single member. This feature is part of the ECMAScript 2020 standard and can be configured in your tsconfig.json
file.
ES2020 Private Fields
Private fields, denoted by the #
character, are now supported in TypeScript 3.8. These fields are scoped to their containing class and cannot be accessed outside of it. Note that private fields must be declared before they’re used, and you must target ECMAScript 2015 (ES6) or higher to use them.
Top-Level Await
TypeScript 3.8 introduces top-level await, allowing you to use await expressions directly at the top level of a module or script. This feature is part of the ECMAScript specification and can be enabled by setting the target
compiler option to es2017
or above and the module
option to esnext
or system
.
JSDoc Property Modifiers
TypeScript 3.8 adds support for three accessibility modifiers: @public
, @private
, and @protected
. Additionally, the @readonly
modifier ensures that a property is only assigned a value during initialization. These modifiers can be used to add documentation comments directly to your JavaScript source code.
Explore More Features and Improvements
TypeScript 3.8 brings many more exciting features and improvements, including better directory watching on Linux, “Fast and Loose” incremental checking, and refactorings for string concatenations and call hierarchies. Be sure to check out the official documentation for more information.
Happy Coding with LogRocket!
LogRocket is a frontend application monitoring solution that helps you replay problems as if they happened in your own browser. With features like Redux and Vuex plugins, custom logs, and pixel-perfect video replays, LogRocket is the perfect tool to optimize your application’s performance. Try it for free today!