Skip to content

Language

The vocabulary of JavaScript.

Customize Data
The Proxy object enables you to create a proxy for another object, which can intercept and redefine fundamental operations for that object.
Never heard of it
Know about it
Have used it
2019
2020
2021

Promise.allSettled()

Customize Data
The Promise.allSettled() method returns a promise that resolves after all of the given promises have either fulfilled or rejected, with an array of objects that each describes the outcome of each promise.
Never heard of it
Know about it
Have used it
2020
2021
Customize Data
The static import statement is used to import read-only live bindings which are exported by another module.
Never heard of it
Know about it
Have used it
2020
2021
We asked members of the JavaScript community to share their “pick of the year”

My 2021 Pick: SvelteKit

Svelte Kit provides the amazing developer experience of Svelte with all of the modern features of expected from a web platform.

We asked members of the JavaScript community to share their “pick of the year”

Scott Tolinski

Creator of Level-Up Tuts, co-host of Syntax

Customize Data
The nullish coalescing operator (??) is a logical operator that returns its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand.
Never heard of it
Know about it
Have used it
2020
2021

Optional Chaining

Customize Data
The optional chaining operator (?.) enables you to read the value of a property located deep within a chain of connected objects without having to check that each reference in the chain is valid.
Never heard of it
Know about it
Have used it
2020
2021
Customize Data
Class fields are public by default, but private class members can be created by using a hash # prefix. The privacy encapsulation of these class features is enforced by JavaScript itself.
Never heard of it
Know about it
Have used it
2020
2021
Customize Data
BigInt is a primitive wrapper object used to represent and manipulate primitive bigint values — which are too large to be represented by the number primitive.
Never heard of it
Know about it
Have used it
2020
2021
💡

The Data tab lets you view the raw data for any chart, view it as JSON, or get a GraphQL query you can run against our public API.

Customize Data
This page describes JavaScript's lexical grammar. The source text of ECMAScript scripts gets scanned from left to right and is converted into a sequence of input elements which are tokens, control characters, line terminators, comments or white space. ECMAScript also defines certain keywords and literals and has rules for automatic insertion of semicolons to end statements.
Never heard of it
Know about it
Have used it
2021

String.prototype.replaceAll()

Customize Data
The replaceAll() method returns a new string with all matches of a pattern replaced by a replacement. The pattern can be a string or a RegExp, and the replacement can be a string or a function to be called for each match.
Never heard of it
Know about it
Have used it
2021

String.prototype.matchAll()

Customize Data
The matchAll() method returns an iterator of all results matching a string against a regular expression, including capturing groups.
Never heard of it
Know about it
Have used it
2021
Customize Data
The logical AND assignment (x &&= y) operator only assigns if x is truthy.
Never heard of it
Know about it
Have used it
2021
We asked members of the JavaScript community to share their “pick of the year”

My 2021 Pick: esbuild

We have been building the Remix compiler on top of esbuild and it has definitely raised the bar as far as JS bundlers are concerned. It's incredibly fast and the plugin API allows us to do pretty much anything we want.

We asked members of the JavaScript community to share their “pick of the year”

Michael Jackson

Co-founder of Remix

Customize Data
Promise.any() takes an iterable of Promise objects. It returns a single promise that resolves as soon as any of the promises in the iterable fulfills, with the value of the fulfilled promise. If no promises in the iterable fulfill (if all of the given promises are rejected), then the returned promise is rejected with an AggregateError, a new subclass of Error that groups together individual errors.
Never heard of it
Know about it
Have used it
2021
Customize Data
The at() method takes an integer value and returns the item at that index, allowing for positive and negative integers. Negative integers count back from the last item in the array.
Never heard of it
Know about it
Have used it
2021
Customize Data
The await operator is used to wait for a Promise. It can only be used inside an async function within regular JavaScript code; however it can be used on its own with JavaScript modules.
Never heard of it
Know about it
Have used it
2021

Recommended Resources

JavaScript: The New Hard Parts
Will Sentance
Codesmith

JavaScript: The New Hard Parts

In this course, you will develop an intuitive understanding of the new features of JavaScript in ES6+: iterators, generators, promises, and async/await.
Thanks to our partners for supporting us! Learn more.