ECMAScript 2018

JavaScript is the world's most popular programming language.
JavaScript is the programming language of the Web.
JavaScript is easy to learn.
This tutorial will teach you JavaScript from basic to advanced.
Post Reply
Guest

ECMAScript 2018

Post by Guest »

ECMAScript 2018


JavaScript Version Numbers
Old JS versions are named by numbers: ES5 (2009) and ES6 (2015).
From 2016, versions are named by year: ECMAScript 2016, 2017, 2018, 2019, ...

New Features in ECMAScript 2018
This chapter introduces the new features in ECMAScript 2018:

Asynchronous Iteration
Promise Finally
Object Rest Properties
New RegExp Features
JavaScript Shared Memory



JavaScript Asynchronous Iteration
ECMAScript 2018 added asynchronous iterators and iterables.
With asynchronous iterables, we can use the await
keyword in for/of loops.


Example

for await () {}


JavaScript asynchronous iteration is supported in all modern browsers since January 2020:










Chrome 63
Edge 79
Firefox 57
Safari 11
Opera 50


Dec 2017
Jan 2020
Nov 2017
Sep 2017
Jan 2018





JavaScript Promise.finally
ECMAScript 2018 finalizes the full implementation of the Promise object with Promise.finally:

Example

let myPromise = new Promise();

myPromise.then();
myPromise.catch();
myPromise.finally();


Promise.finally is supported in all modern browsers since November 2018:










Chrome 63
Edge 18
Firefox 58
Safari 11.1
Opera 50


Dec 2017
Nov 2018
Jan 2018
Mar 2018
Jan 2018











JavaScript Object Rest Properties
ECMAScript 2018 added rest properties.
This allows us to destruct an object and collect the leftovers onto a new object:

Example

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }


Object rest properties is supported in all modern browsers since January 2020:










Chrome 60
Edge 79
Firefox 55
Safari 11.1
Opera 47


Jul 2017
Jan 2020
Aug 2017
Mar 2018
Aug 2017





New JavaScript RegExp Features
ECMAScript 2018 added 4 new RegExp features:

Unicode Property Escapes (\p{...})
Lookbehind Assertions (?<= ) and (?<! )
Named Capture Groups
s (dotAll) Flag

The new RegExp features is supported in all modern browsers since June 2020:










Chrome 64
Edge 79
Firefox 78
Safari 12
Opera 51


Jan 2018
Jan 2020
Jun 2020
Sep 2018
Feb 2018





JavaScript Threads
In JavaScript you use the Web Workers API to create threads.
Worker threads are used to execute code in the background so that the main program can continue execution.
Worker threads run simultaneously with the main program. Simultaneous execution of different parts
of a program can be time-saving.
JavaScript Shared Memory
Shared memory is a feature that allows threads (different parts of a program) to
access and update the same data in the same memory.
Instead of passing data between threads, you can pass a SharedArrayBuffer object
that points to the memory where data is saved.
SharedArrayBuffer
A SharedArrayBuffer object represents a fixed-length raw binary data buffer similar to the ArrayBuffer object.














+1

Reference: https://www.w3schools.com/js/js_2018.asp
Post Reply