ECMAScript 2016

JavaScript Version Numbers

Old ECMAScript versions was named by numbers: ES5 and ES6.

From 2016, versions are named by year: ES2016, 2018, 2020 ...

New Features in ECMAScript 2016

This chapter introduces the new features in ECMAScript 2016:

  • JavaScript Exponentiation (**)
  • JavaScript Exponentiation assignment (**=)
  • JavaScript Array includes()

Browser Support

ES 2016 is fully supported in all modern browsers since March 2017:

Chrome 52 Edge 15 Firefox 52 Safari 10.1 Opera 39
Jul 2016 Apr 2017 Mar 2017 May 2017 Aug 2016

ES 2016 is not supported in Internet Explorer.


Exponentiation Operator

The exponentiation operator (**) raises the first operand to the power of the second operand.

Example

let x = 5;
let z = x ** 2;
Try it Yourself »

x ** y produces the same result as Math.pow(x, y):

Example

let x = 5;
let z = Math.pow(x,2);
Try it Yourself »

Exponentiation Assignment

The exponentiation assignment operator (**=) raises the value of a variable to the power of the right operand.

Example

let x = 5;
x **= 2;
Try it Yourself »

The Exponentiation Operator is supported in all modern browsers since March 2017:

Chrome 52 Edge 14 Firefox 52 Safari 10.1 Opera 39
Jul 2016 Aug 2016 Mar 2017 Mar 2017 Aug 2016


JavaScript Array includes()

ECMAScript 2016 introduced Array.includes to arrays.

This allows us to check if an element is present in an array:

Example

const fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.includes("Mango");
Try it Yourself »

Array.includes is supported in all modern browsers since August 2016:

Chrome 47 Edge 14 Firefox 43 Safari 9 Opera 34
Dec 2015 Aug 2016 Dec 2015 Oct 2015 Dec 2015


Copyright 1999-2023 by Refsnes Data. All Rights Reserved.