JavaScript ES2017 Features With Examples

ES2017 a.k.a. ES8 features

Carlos Caballero
Jan 23 · 4 min read
Photo by Scott Webb on Unsplash

Today, we’re going to look at ECMAScript features from 2015:


ES2017 a.k.a. ES8 is the version of ECMAScript corresponding to the year 2017. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.

This article introduces the features provided by ES2017 in easy code examples. In this way, you can quickly understand the new features without the need for a complex explanation.

Of course, it is necessary to have a basic knowledge of JavaScript to fully understand the best ones introduced.

The new JavaScript features in ES2017 are:

  • Object.values/Object.entries
  • ️️ String padding
  • Object.getOwnPropertyDescriptors
  • Trailing commas in function parameter lists and calls
  • Async functions
  • Shared memory and atomics


Object values take an object and return an array with the values, in the same order as a for…in loop would give us.

On the other hand, Object.entries takes an object and returns an array with arrays of key-value pairs.

String Padding

The padStart() method pads the current string with another string (multiple times, if needed) until the resulting string reaches the given length. The padding is applied from the start of the current string.

The padEnd() method pads the current string with a given string
(repeated, if needed) so that the resulting string reaches
a given length.


getOwnPropertyDescriptors returns all own property
descriptors of a given object.

  • value — The value associated with the property (data descriptors only).
    writable — true if, and only if, the value associated with the property may be changed.
  • get — A function that serves as a getter for the property.
  • set — A function that serves as a setter for the property.
    configurable — True if, and only if, the type of this property descriptor may be changed.
  • enumerable — True if, and only if, this property shows up during enumeration of the property.

Trailing Commas in Function Parameter List and Calls

There are two benefits:

  1. You don’t have to add and remove commas if the last item changes its position.
  2. It helps version control systems with tracking what actually changed.

Async Functions

The async function declaration defines an asynchronous function — a function that returns an AsyncFunction object.

Asynchronous functions operate in a separate order to the rest of the code via the event loop, returning an implicit Promise as its result. But the syntax and structure of code using async functions look like standard synchronous functions.

Shared Memory and Atomics

Atomics is a global variable whose methods have three main use cases.

  1. Synchronization.
  2. Waiting to be notified.
  3. Atomic operations.

The following example illustrates the use cases.


JavaScript is a live language, and that is something very healthy for web development. Since the appearance of ES6 in 2015 we are living a vibrant evolution of the language.

In this post, we have reviewed the features that arose in ES2017 (a.k.a. ES8).

Although many of these features may not be essential for the development of your web application, they offer possibilities that could be achieved before only with tricks or a lot of verbosity.

Better Programming

Advice for programmers.

Carlos Caballero

Written by

Hi! My name is Carlos Caballero and I’m PhD. in Computer Science from Málaga, Spain. Teaching developers and degree/master computer science how to be experts!

Better Programming

Advice for programmers.

More From Medium

More from Better Programming

More from Better Programming

More from Better Programming

More from Better Programming

Why Do Incompetent Managers Get Promoted?


Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade