Game Changer Type Guarantees

JS++® introduces the first and only type system compatible with JavaScript that is optional and "sound".

In other words, if you choose to declare the type for a variable, it is guaranteed to always be correct — at compile time and runtime — even if you're using "untyped" JavaScript libraries!


// Import all your favorite JavaScript libraries in just one line.
// No need to add "type definitions" to existing libraries!
external jQuery, $;

// This will always remain an 'unsigned int' - even at runtime // You'll never see NaN ("Not a Number") runtime errors again unsigned int pageHeight = $(document).height();
// Alternatively, you're not required to declare the type for a // variable and you can just keep writing regular JavaScript: var offset = 0;

"TypeScript's 'type erasure' vs JS++'s 'type guarantee' would be a big reason to use JS++ over TypeScript."

Andrew Osman, CodeProject

Due to the low quality and low reliability of programming languages that compile to JavaScript - even from Microsoft, Google, and Facebook - programmers have begun to think these languages are "hacks". JS++ was researched and designed over multiple years with a strong scientific foundation.

You'll be surprised how JS++ works 100% of the time, even in the most obscure corner cases.

"I fell in love with JS++ at first sight." - Eddie Dhakal

You are downloading an EARLY ACCESS PREVIEW of the JS++® compiler. Several features are either incomplete or unimplemented, and you may encounter bugs.