Автор оригинала: FreeCodeCamp Community Member.
Tiago Lopes Ferreira
Давайте поговорим о последней версии JavaScript: Ecmascript 2016 (более широко известны как ES7). ES7 приносит две новые функции: Array.Prototype. InCludes () и новый экспоненциальный оператор: ** Отказ
Array.Prototype. INCludes ()
Прошел дни, когда мы использовали .indexof () знать, если элемент существовал в массиве.
Ключевое слово это “существовать.”
.indexof () в порядке, если мы хотим знать, на котором появляется индекс данный элемент.
Но если наша цель – знать, если данный элемент существует в массиве, то .indexof () не самый лучший вариант. И причина проста: при запросе существования чего-то мы ожидаем булевой стоимости, не число Отказ
Array.Prototype. InCludes () делает именно это. Он определяет, существует ли данный элемент в массиве, возвращая правда Если это так, ложь иначе.
В спецификацию
Array.prototype.includes ( searchElement [ , fromIndex ] )
Поиск– элемент для поиска.Frientexex(Необязательно) – индекс, от которого начать поиск.
Дайвинг в Спецификация Похоже, поиск власти.
Спецификация говорит:
Давайте пойдем пошаговый и попытаемся понять спецификацию с примерами.
- Разница здесь – это позиция элемента 4. Поскольку наш первый пример помещает 4 в последней позиции, включает в себя поиск всего массива. По спецификации
.includes ()Возвращает сразу после поискаПоискОтказ Это делает нашу вторую операцию намного быстрее. - Большая разница с Samevaluezero Алгоритм против Строгое сравнение равенства (используется
.indexof ()) заключается в том, что он позволяет обнаруживать Нан элементы. - Возвращает логию
правдаКогда элемент найден иложьиначе. Нет больше индексов в результате? - Наоборот
.indexof (),.includes ()не пропускает недостающие элементы массива. Вместо этого он относится к ним как undefined значения.
Вы начинаете чувствовать силу?
Мы даже не тронули Frientexex Отказ
Давайте проверим спецификацию:
- Если нет
Frientexexпредоставляется им значение по умолчанию0принимается и целое Массив ищет. .includes ()Сразу возвращает ложь Когда значениеFrientexexбольше длины массива.- Когда
Frientexexотрицательно, тогда это значение рассчитывается какarray.length - fromindexОтказ Это особенно полезно при поиске на последних элементах. Например,fromindex = -5такой же, как поиск последних 5 элементов. - Чтобы избежать
.includes ()от взлома, когдаFrientexexРасчетное значение ниже 0, весь массив ищется. Я бы предпочел сломать?
ОК – одна последняя новая особенность …
Экспоненциальный оператор (**)
Мы ждали, когда мы можем играть с экспоненциальными Цифры, как мы играем с добавлением, вычитанием, умножением, разделением.
Ну, этот день здесь.
Оператор ** ведет себя точно так же, как Math.pow () Отказ Возвращает результат повышения первого операнда к мощности второго (например, x ** y ).
Это оно!
Теперь у вас есть сила ES7 ! Используйте это хорошо!
Благодаря ?
- 2-е льгон По Axel Rauschmayer
- Спецификация языка Ecmascript® 2016
- Для всех Он-мужчина поклонники
- FreeCodecamp для публикации ❤️.
Обязательно проверьте мои статьи на ES6:
Давайте исследуем генераторы ES6 Генераторы, aka, реализация по величине. Medium.freecodeCamp.org О да! Async/await Async/a a a a a a a a a a a a a a a a a a a enae – это новый синтаксис JavaScript для объявления асинхронной функции. Medium.freecodeCamp.org.