JavaScript beyond ES6#1 - ES2016: includes()
& exponential operator
Everything new in ES2016
ES2016 introduced only two new features :
Array.prototype.includes()
- the exponential operator
Array.prototype.includes()
The 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
Combine includes()
with fromIndex
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
array.includes(5,4);
returned 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
.
array.includes(1,-1);
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.
array.includes(11,-3);
returned 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
Using 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.
Leave a Comment