pub enum Target {
Es3,
Es5,
Es2015,
Es6,
Es2016,
Es7,
Es2017,
Es2018,
Es2019,
Es2020,
EsNext,
Other(String),
}
Expand description
The transpilation target for the emitted JavaScript.
Modern browsers support all ES6
features, so ES6
is a good choice. You might choose to set a lower target if your code
is deployed to older environments, or a higher target if your code is guaranteed to run in newer environments.
The target setting changes which JS features are downleveled and which are left intact. For example, an arrow
function () => this will be turned into an equivalent function expression if target is ES5
or lower.
Changing target also changes the default value of lib. You may “mix and match” target and lib settings as desired, but you could just set target for convenience.
For developer platforms like Node will have a certain baselines for the their target depending on their version. You can find a set of community organized TSConfigs at tsconfig/bases for common platforms and their versions.
The special ESNext
value refers to the highest version your version of TypeScript supports. This setting should be
used with caution, since it doesn’t mean the same thing between different TypeScript versions and can
make upgrades less predictable.