The vocabulary of JavaScript.
Link to sectionProxies
Chart
Data
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
Link to sectionPromise.allSettled()
Chart
Data
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
Link to sectionDynamic Import
Chart
Data
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
Link to sectionNullish Coalescing
Chart
Data
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
Link to sectionOptional Chaining
Chart
Data
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
Link to sectionPrivate Fields
Chart
Data
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
Chart
Data
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
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.Link to sectionNumeric Separators
Chart
Data
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
Link to sectionString.prototype.replaceAll()
Chart
Data
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
Link to sectionString.prototype.matchAll()
Chart
Data
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
Link to sectionLogical Assignment
Chart
Data
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
Link to sectionPromise.any()
Chart
Data
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
Link to sectionArray.prototype.at()
Chart
Data
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
Link to sectionTop-Level Await
Chart
Data
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
Link to sectionRecommended Resources
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.