Мы начинаем с того места, на котором остановились в первой части новых функций ES6.

Строковые и числовые методы

В ES6 доступно довольно много новых функций строк и строковых методов. Они используются для целевых выражений внутри строки. Мы собираемся иметь дело со следующим:

начинается с()

заканчивается с()

включает()

Давайте рассмотрим пример того, как это работает.

В приведенном выше фрагменте мы использовали один из трех новых методов, предоставляемых ES6, — startWith(). Что делает этот метод, так это то, что он проверяет, начинается ли предоставленное строковое значение с соответствующей строки, которая обычно является строкой внутри скобок. Итак, мы проверяем, начинается ли переменная fullString с Hello. Этот метод возвращает логическое значение, поэтому, если оно совпадает, он возвращает true, иначе возвращает false.

Примечание. Регистр чувствителен. Это означает, что "привет" отличается от "Привет".

Во втором примере выше мы видим, что при использовании второго метода — endWith() — мы проверяем, заканчивается ли значение строки текстом частицы или значением. Вы уже должны знать, что даже если нашим аргументом были Игры, он вернул ложь. Это потому, что, как я уже говорил ранее, они чувствительны к регистру, поэтому мы ожидаем, что наш результат будет ложным.

В третьем примере выше мы видим, что при использовании третьего метода — include() — мы проверяем, находится ли значение переданной строки в основной строке в любой позиции. Поскольку нашу строку William можно найти в fullString, мы получаем истинное значение.

Мы также можем выполнять некоторые манипуляции с числами в ES6, такие как двоичные, восьмеричные и т. д.

Вывод:

Давайте посмотрим на числовые функции.

Вывод:

Есть еще несколько числовых методов, которые вы можете проверить самостоятельно и попрактиковаться.

Параметры по умолчанию и операторы спреда.

Параметры по умолчанию в ES6 работают почти так же, как и в PHP. Когда мы хотим, чтобы использовалось значение по умолчанию, скажем, когда мы запускаем функцию или что-то в этом роде, все, что нам нужно сделать, это назначить его в параметре, в который мы его передали. Вот посмотрите на пример.

Вывод:

Вместо того, чтобы иметь undefined в качестве вывода, мы можем установить для него значение hold или иметь параметр по умолчанию, который сделает его более привлекательным, а не undefined по умолчанию, который мы получаем. Вот посмотрите на это.

Вывод:

Все, что мы сделали, чтобы получить этот вывод, — это установили параметр по умолчанию внутри нашей функции. Если бы мы были к этому с ES5, у нас, вероятно, было бы что-то вроде этого.

Вы можете подтвердить, что с ES6 писать гораздо меньше кода.

Давайте взглянем на операторов спреда.

Оператор расширения представлен тремя точками (…) и используется для расширения выражения в местах, где ожидается несколько аргументов. Давайте быстро взглянем на это. В ES5, если мы хотим передать массив в качестве параметра функции, мы будем использовать метод применения, как показано ниже.

Однако в ES6 нам не нужно использовать метод применения. Все, что нам нужно, это использовать три точки, как показано ниже.

Это дает тот же результат, что и предыдущий, но с гораздо меньшим количеством кода для написания. Красиво, да?

Давайте рассмотрим наличие двух переменных и использование переданных аргументов.

Вывод:

Наслаждаясь новыми функциями, я думаю.

Сопоставление и настройка структуры данных.

Объекты set позволяют нам хранить уникальные значения любого типа. Могут быть примитивными значениями или ссылками на объекты.

Давайте посмотрим, как это работает.

Вывод:

Рассмотрим фрагмент выше. Мы создали массив с именем myArr. Затем мы создали объект метода Set, передали созданный массив и, наконец, записали объект в консоль. Мы можем видеть, что в разделе вывода набор даже сообщает нам, какой тип элемента содержится в том массиве, который мы передали. Давайте попробуем выполнить некоторые манипуляции с созданным объектом Set.

Вывод:

Если мы внимательно посмотрим на то, чего мы пытались достичь, мы добавили строковое значение в набор, а также объект в набор. Мы также удалили элемент из набора. Вы можете видеть, что из двух выходных данных, сгенерированных выше, мы видим, какой тип значения хранится в наборе — массив, строка и объект.

Вы также можете попробовать такие методы самостоятельно:

мой набор.очистить(); // Это очищает весь набор

мойSet.размер; // Это возвращает размер установленного объекта.

Есть и другие методы, которые вы можете проверить, чтобы ознакомиться с набором.

Попробуем выполнить цикл с заданным объектом.

Вывод:

Мы можем видеть, что в нашем выводе наш объект набора перебирает каждый элемент в списке набора и записывает результат в нашу консоль.

Давайте углубимся в Карты.

Карты представляют собой пары ключ-значение, в отличие от набора, который представляет собой отдельные значения. Давайте посмотрим на пример.

Вывод:

В приведенном выше примере мы создали простой объект карты с массивом и каждым ключом (a1, b1), имеющим собственное значение (Привет, как дела) соответственно. Мы также можем добавить к объекту элементы или другие пары ключ-значение. Давайте посмотрим на это.

Вывод:

Существуют и другие методы, которые можно использовать с объектом карты. Некоторые включают:

Очистить, удалить, forEach, has, size и т. д.

Чтобы удалить, мы используем ключ. Давайте посмотрим на это.

Вывод:

Помимо Set и Map у нас есть WeakSet и WeakMap. Они связаны с объектами. Давайте посмотрим, как это работает.

Вывод:

Мы создали объект Weakset и назвали его carWeakSet. Затем мы создали объект с именем firstCar со свойствами make и model. Затем мы использовали метод add, чтобы добавить объект firstCar к объекту carWeakSet, как показано выше.

Давайте попробуем пример с WeakMap.

Вывод:

Мы видим, что созданному ключу также присвоено значение. Метод из Set и Map можно применить к WeakSet и WeakMap соответственно.

Оставайтесь с нами в заключительной части о новых возможностях ES6.
Спасибо за чтение.