Table column definition:
-
featureTypeScript keyword/type/syntax/concepts -
WAMRWhether this feature is supported on WebAssembly Micro Runtime (WAMR) -
chromeWhether this feature is supported on chrome browser -
popularityThe frequency of the feature used in TypeScript.- empty means less used, or not evaluated
- ⭐ means frequently used by experienced TypeScript developers
- ⭐⭐ means frequently used by both experienced and begging TypeScript developers
| feature | WAMR | chrome | popularity |
|---|---|---|---|
| boolean | ✔️ | ✔️ | ⭐⭐ |
| number | ✔️ | ✔️ | ⭐⭐ |
| string | ✔️ | ✔️ | ⭐⭐ |
| string template | ✔️ | ✔️ | ⭐⭐ |
| bigint | ❌ | ❌ | |
| symbol | ❌ | ❌ |
| feature | WAMR | chrome | popularity |
|---|---|---|---|
| declaration | ✔️ | ✔️ | ⭐⭐ |
| inherit | ✔️ | ✔️ | ⭐⭐ |
| method overwrite | ✔️ | ✔️ | ⭐⭐ |
| static field/method | ✔️ | ✔️ | ⭐⭐ |
| field initializer | ✔️ | ✔️ | ⭐⭐ |
| visibility control | ✔️ | ✔️ | ⭐⭐ |
| getter/setter | ✔️ | ✔️ | |
| class as value | ❌ | ❌ |
| feature | WAMR | chrome | popularity |
|---|---|---|---|
| closure | ✔️ | ✔️ | ⭐⭐ |
| optional parameter | ✔️ | ✔️ | ⭐⭐ |
| function default parameter | ✔️ | ✔️ | ⭐⭐ |
| method default parameter | ✔️ | ✔️ | ⭐⭐ |
| closure default parameter | ❌ | ❌ | |
| destructor parameter | ❌ | ❌ | ⭐⭐ |
| rest parameter | ✔️ | ✔️ | ⭐ |
| this binding | ❌ | ❌ | ⭐ |
| overload | ❌ | ❌ | ⭐ |
| feature | WAMR | chrome | popularity |
|---|---|---|---|
| explicitly implemented interface | ✔️ | ✔️ | ⭐⭐ |
| implicitly implemented interface | ✔️ | ❌ | ⭐⭐ |
| readonly fields | ✔️ | ❌ | |
| function signature | ❌ | ❌ | |
| indexed signature | ❌ | ❌ |
| feature | WAMR | chrome | popularity |
|---|---|---|---|
| numeric enum | ✔️ | ✔️ | ⭐⭐ |
| string enum | ✔️ | ✔️ | ⭐⭐ |
| heterogeneous enum | ❌ | ❌ |
| feature | WAMR | chrome | popularity | note |
|---|---|---|---|---|
| console | ✔️ | ❌ | ⭐⭐ | only support log |
| Object | ❌ | ❌ | ⭐ | |
| Function | ❌ | ❌ | ||
| JSON | ✔️ | ❌ | ⭐⭐ | fallback to dynamic |
| Date | ✔️ | ❌ | ⭐⭐ | fallback to dynamic |
| Math | ✔️ | ✔️ | ⭐⭐ | only support pow, max, min, sqrt, abs, ceil, floor |
| Number | ❌ | ❌ | ⭐⭐ | |
| String | ✔️ | ✔️ | ⭐⭐ | |
| Array | ✔️ | ❌ | ⭐⭐ | |
| Map | ✔️ | ❌ | ⭐⭐ | fallback to dynamic |
| Set | ✔️ | ❌ | ⭐ | fallback to dynamic |
| ArrayBuffer | ❌ | ❌ | ⭐ | |
| RegExp | ❌ | ❌ | ⭐ | |
| ... others | ❌ | ❌ |
| feature | WAMR | chrome | popularity | note |
|---|---|---|---|---|
| exception handling | ❌ | ✔️ | ⭐⭐ | |
| promise | ✔️ | ❌ | ⭐⭐ | fallback to dynamic |
| source debugging | ❌ | ✔️ | ⭐⭐ | |
| AoT compilation | ❌ | ❌ | ||
| async/await | ❌ | ❌ | ⭐⭐ | |
| import host API | ✔️ | ✔️ | import host API |
| feature | WAMR | chrome | popularity | note |
|---|---|---|---|---|
| any | ✔️ | ✔️ | ⭐ | |
| unknown | ❌ | ❌ | ||
| never | ❌ | ❌ | ||
| assign static to any | ✔️ | ✔️ | ||
| assign any to static | ✔️ | ✔️ | ||
| property access | ✔️ | ✔️ | ⭐⭐ | |
| prototype | ✔️ | ✔️ | ⭐ | |
| comparison | ✔️ | ❌ | ⭐ | |
| arithmetic operation | ✔️ | ✔️ | ⭐⭐ | only support number and string |
| mixed type | ✔️ | ❌ | Box static object to any and add new property on it | |
| dynamic function | ❌ | ❌ | ||
| eval | ❌ | ❌ |
| feature | WAMR | chrome | popularity | note |
|---|---|---|---|---|
| static to static | ✔️ | ✔️ | static type checking | |
| static to dynamic | ✔️ | ✔️ | always success | |
| dynamic to static | ✔️ | ✔️ | runtime type checking | |
| dynamic to dynamic | ✔️ | ✔️ | no check |
| feature | WAMR | chrome | popularity | note |
|---|---|---|---|---|
| typeof | ✔️ | ❌ | ⭐ | |
| instanceof | ✔️ | ✔️ | ⭐ | |
| toString | ✔️ | ❌ | ⭐⭐ | |
| for ... of | ✔️ | ✔️ | ⭐⭐ | |
| for ... in | ❌ | ❌ | ⭐⭐ | |
| generic | ❌ | ❌ | ||
| module (static import) | ✔️ | ✔️ | ⭐⭐ | |
| module (dynamic import) | ❌ | ❌ |