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 2016
This chapter introduces the new features in ECMAScript 2016:
The exponentiation operator (
**) raises the first operand to the power of the second operand.
let z = x ** 2;
x ** y produces the same result as
let z = Math.pow(x,2);
Exponentiation AssignmentThe exponentiation assignment operator (
**=) raises the value of a variable to the power of the right operand.
x **= 2;
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|
ECMAScript 2016 introduced
Array.includes to arrays.
This allows us to check if an element is present in an array:
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|