Everything new in ES2016
ES2016 introduced only two new features :
- the exponential operator
includes() method will return
true if our array includes a certain element, or
false if it doesn’t.
let array = [1,2,4,5]; array.includes(2); // true array.includes(3); // false
We can provide
.includes() with an index where to begin searching for an element. Default is 0, but we can also pass a negative value.
The first value we pass is the element to search and the second one is the index:
let array = [1,3,5,7,9,11]; array.includes(3,1); // true array.includes(5,4); //false array.includes(1,-1); // false array.includes(11,-3); // true
false because, despite the array actually contains the number 5, it is at the index 2 but we started looking at position 4. That’s why we couldn’t find it and it returned
false because we started looking at the index -1 (which is the last element of the array) and then continued from that point onwards.
true because we went back to the index -3 and moved up, finding the value 11 on our path.
The exponential operator
Prior to ES2016 we would have done this:
Math.pow(2,2); // 4 Math.pow(2,3); // 8
Now with the new exponential operator we can do this:
2**2; // 4 2**3; // 8
It will get pretty useful when combining multiple operations like in this example:
2**2**2; // 16 Math.pow(Math.pow(2,2),2); // 16
Math.pow() you need to continuously concatenate them and it can get pretty long and messy. The exponential operator provides a faster and cleaner way of doing the same thing.
This was the first part of my Beyond ES6 course.
You can also read this articles on medium, on my profile.
Thank you for reading.