mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 10:49:00 +00:00
Minor tweak on README
Making the description on constructors more accurate. R=jmesserly@google.com Review-Url: https://codereview.chromium.org/2923123003 .
This commit is contained in:
parent
470127ae46
commit
b45e9e2de9
1 changed files with 1 additions and 1 deletions
|
@ -48,7 +48,7 @@ There are some import caveats where Dart concepts do not map directly:
|
|||
- *Libraries*. Multiple Dart libraries are mapped to a single JS module. Each library appears as a first class object in the generated JS module, with its top-level symbols as members. We currently use a heuristic (based upon file paths) to ensure unique naming of generated library objects.
|
||||
- *Generics*. Dart generics are *reified*, i.e., they are preserved at runtime. Generic classes are mapped to factories that, given one or more type parameters, return an actual ES6 class (e.g., `HashMap$(core.String, core.int)` produces a class that represents a HashMap from strings to ints). Similarly, generic methods are mapped to factories that, given one or more type parameters, return a method.
|
||||
- *Dynamic*. DDC supports dynamically typed code (i.e., Dart's `dynamic` type), but it will typically generate less readable and less efficient ES6 output as many type checks must be deferred to runtime. All dynamic operations are invoked via runtime helper code.
|
||||
- *Constructors*. Dart supports multiple, named constructors for a given class with a different initialization order for fields. In general, these are mapped to static methods on the generated ES6 class.
|
||||
- *Constructors*. Dart supports multiple, named and factory constructors for a given class with a different initialization order for fields. Today, these are mapped to instance or static methods on the generated ES6 class.
|
||||
- *Private members*. Dart maps private members (e.g., private fields or methods) to ES6 symbols. For example, `a._x` may map to `a[_x]` where `_x` is a symbol only defined in the scope of the generated library.
|
||||
- *Scoping*. Dart scoping rules and reserved words are slightly different than JavaScript. While we try to preserve names wherever possible, in certain cases, we are required to rename.
|
||||
|
||||
|
|
Loading…
Reference in a new issue