For the Calliope mini, we support a “static” subset of TypeScript (itself a superset of JavaScript):
let, const, and varconsole.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 functiontypeof expressiontag `text ${expression} more text` ; regular templates are supportedlet [a, b] = ...; let { x, y } = ...with statementevaldelete statementfor ... in statements