The language of the web, equally at home in the browser and on the server.
JavaScript is the only language that runs directly in every browser, which is exactly why it holds the web together at its core. Through Node the same code runs on the server too, making it unusually versatile. The language has matured a great deal in recent years, from async/await to modules, and is far nicer today than its old reputation suggests. For us it is the foundation that modern frameworks and TypeScript build on in the first place.
More in the documentationWe reach for plain JavaScript where a build step makes no sense, such as a small script on an otherwise static page or a lean Cloudflare Worker. We also work directly with it when maintaining older codebases that have no type system. Everywhere else we prefer TypeScript.
const city = user?.address?.city ?? "unknown";
const tags = post.tags ?? [];
for (const tag of tags) {
console.log(tag.toUpperCase());
}Good to know
Always check equality with "===", never "==". The loose comparison silently coerces types and treats 0, empty strings and null as the same surprisingly often, which leads to bugs that are hard to track down.
More tools we work with in the same area.
TypeScript
Our default language: type-safe JavaScript for robust, maintainable code.
Python
For AI, automation, data processing and rapid prototypes.
Go
Lean, fast services and CLI tools with excellent concurrency.
PHP
Proven in the CMS space, for example WordPress and legacy systems.
C#
For .NET backends and integration into Microsoft environments.
Java
Proven for robust enterprise backends and Android applications.
You don't have to decide that, it's our job. Tell us about your plans.