Table column definition:
-
feature
TypeScript keyword/type/syntax/concepts -
WAMR
Whether this feature is supported on WebAssembly Micro Runtime (WAMR) -
chrome
Whether this feature is supported on chrome browser -
popularity
The 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) | ❌ | ❌ |