Closed
Description
For completeness's sake, this is a list of breaking changes from the 1.0 compiler that we believe very few users will encounter.
These are errors that should have been reported and represent very likely errors in user code:
- Comparison operators (<, >) more correctly check their operands for compatibility
typeof undefined
is nowundefined
, notany
These mainly cover how certain TypeScript language constructs are emitted in the presence of serious errors in the code:
- Classes with constructor overloads lacking an implementation, or with multiple implementations: emit has changed
- Duplicate
export =
assignments emit has changed - Uses of
this
in fat arrow function expressions in static initializers no longer capturethis
- Nonsense circular external module declarations are now an error
- Some constructs which are early errors in JavaScript are now considered as parse errors
- Invalid uses of
super
in fat arrow function expressions emit has changed
Emit in some cases has changed to semantically-equivalent, but better, code:
- Array copy code for unused rest parameters is no longer emitted
- Exact emit for certain boilerplate constructs (rest args, default parameter values) has changed