For the Calliope mini, we support a “static” subset of TypeScript (itself a superset of JavaScript):
let
, const
, and var
console.log("Hello world")
if ... else if ... else
statementswhile
and do ... while
loopsfor(;;)
loops (see below about for ... in/of
)break/continue
; also with labeled loopsswitch
statement (on numbers only)debugger
statement for breakpoints? :
; lazy boolean operators`x is ${x}`
)() => ...
new
keyword[1, 2, 3]
We generally stay away from the more dynamic parts of JavaScript. Things you may miss and we may implement:
throw
, try ... catch
, try ... finally
)for ... of
statements{ foo: 1, bar: "two" }
For JS-only targets we may implement the following:
Things that we are not very likely to implement:
import * from ...
, module.exports
etc); we do support namespacesyield
expression and function*
await
expression and async function
typeof
expressiontag `text ${expression} more text`
; regular templates are supportedlet [a, b] = ...; let { x, y } = ...
with
statementeval
delete
statementfor ... in
statements