No magic: explicit, composable, idiomatic.
Works everywhere: modern web browsers and Node.
Reduce the language to its minimalist subset ✂️
Focus on readability and correctness first (pure functions, immutability, etc), on runtime performance second 🐢
Make tests simple and super fast ⚡
Avoid experimental features and third-party dependencies 🙅
Number String Boolean Object Array null undefined NaN const = => ( ) ? : , . + - * / % < <= >= === !== {...} [...] { x } = { x } strict import export Promise Map Set
JSON
Number
Infinity
NaN
String
Template literals
null
Boolean
Symbol
Object
Array
Map
Spread syntax
const
undefined
Destructuring assignment
Assignment Operators
Arithmetic Operators
Comparison Operators
Logical Operators
Operator Precedence
Conditional Operator
switch
Arrow functions
Comma Operator
Function
EventLoop
Promise
async function
async function
await
Date
RegExp
Math
isNaN
parseFloat
parseInt
decodeURIComponent
decodeURI
encodeURIComponent
encodeURI
XMLHttpRequest
Strict mode