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.
x ** y
produces the same result as Math.pow(x, y)
:
Exponentiation Assignment
The exponentiation assignment operator (**=
) raises the value of a variable to the power of the right operand.
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 |