Skip to content

List of minor breaking changes from 1.0 #153

Closed
@RyanCavanaugh

Description

@RyanCavanaugh

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 now undefined, not any

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 capture this
  • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Breaking ChangeWould introduce errors in existing codeBy DesignDeprecated - use "Working as Intended" or "Design Limitation" instead

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions