Автор оригинала: 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.