background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "#12 Возможности ES6 или ECMAScript 2015, Супер JavaScript, Основы"

input logo icon
Обложка аудиозаписи
Подождите немного, мы готовим ссылки для удобного просмотра видео без рекламы и его скачивания.
console placeholder icon
Теги видео
|

Теги видео

itdoctor
Возможности ECMAScript 2015
Возможности ECMAScript6
Возможности ES6
javascript es6
Константы на языке JavaScript
Сохранение контекста this на JS
Удаление дубликатов в массиве на языке JavaScript
Оператор расширения js
Деструктивное присваивание js
Стрелочные функции js
Определение знака числа js
Повторение строки js
Поиск в строке js
Заполнение массива js
Ключи и значения массива js
Множества js
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:00
[музыка]
00:00:05
в этом уроке мы рассмотрим какие еще
00:00:08
новшества есть в языке java script
00:00:11
который мы до сих пор ещё не изучали и
00:00:14
все они появились в стандарте ecmascript
00:00:17
6 сейчас перед вами открыта страница с
00:00:23
поддержкой стандарта ecmascript 5 он уже
00:00:27
очень старый и поэтому поддерживается
00:00:31
практически всеми браузерами как вы
00:00:34
видите вот из этой цифры глобальная
00:00:36
поддержка 99 процентов то есть
00:00:38
практически все браузеры поддерживают
00:00:41
ecmascript 5 если ваш код будет написан
00:00:45
на экм a script 5 то он будет работать
00:00:47
абсолютно везде как вы видите все
00:00:49
браузеры отмечены зелененьким и
00:00:53
поддержка максимальная но теперь давайте
00:00:56
взглянем на страницу с acme скрипт 6
00:00:59
это стандарт уже пятилетней давности он
00:01:02
появился в 2015 году но сейчас как вы
00:01:06
видите поддержка у него также очень
00:01:08
высоко 97 процентов
00:01:10
но тем ни менее интернет эксплорер
00:01:12
например плохо его до сих пор
00:01:14
поддерживает opera mini полностью не
00:01:17
поддерживает и еще вот здесь два
00:01:19
браузера есть которые частично
00:01:20
поддерживают данный стандарт в принципе
00:01:24
можно писать на данном стандарте не
00:01:27
опасаясь
00:01:28
и скорее всего везде ваш код будет
00:01:30
работать но для того чтобы точно быть
00:01:33
уверенным что вы напишите какой то
00:01:36
скрипт и он будет работать на любых
00:01:39
устройствах и любых браузерах существует
00:01:42
такой вот компилятор бейгл
00:01:46
который позволяет нам перевести java
00:01:49
script из нового стандарта в старый
00:01:52
стандарт он так же может делать много
00:01:53
чего еще
00:01:54
но нас интересует именно это на вот этой
00:01:57
вкладке трой
00:01:58
it out мы можем ввести вот здесь слева
00:02:02
какой-то код выбрать здесь слева в
00:02:06
пресетах
00:02:07
я с 2015 и после этого здесь на выходе
00:02:12
мы получим код в предыдущем стандарте он
00:02:16
будет точно также работать весь тот же
00:02:18
функционал
00:02:19
но код будет намного больше и написан
00:02:23
немного другими способами
00:02:26
давайте сейчас здесь создадим простой
00:02:28
класс у него будет одна переменная со
00:02:32
значением 5 по умолчанию и один метод
00:02:35
вот такой вот простой класс мы сейчас
00:02:38
создали шесть строк
00:02:39
он написан на экм a script часть у нас и
00:02:43
как вы видите весь этот код всего лишь
00:02:46
шесть строк превратились вот в такой вот
00:02:48
большой код написанный на предыдущем
00:02:53
стандарте ecmascript 5 этот код будет
00:02:56
делать у нас абсолютно тоже самое когда
00:02:58
мы будем его запускать но при этом этот
00:03:03
код лучше поддерживается в браузерах
00:03:06
поэтому для надежности можно свой код
00:03:10
компилировать таким образом в предыдущей
00:03:12
стандарт у себя на компьютере сохранять
00:03:16
код написанный в новом стандарте чтобы
00:03:18
вам было удобно с ним работать а уже
00:03:20
финальной версии какого-то сайта
00:03:23
добавлять именно такой вот скрипт для
00:03:26
обеспечения максимальной поддержки
00:03:30
другими браузерами и устройствами но
00:03:33
сейчас мы посмотрели как вообще
00:03:35
поддерживаются стандарты с5 и с6 и как
00:03:39
можно есть шесть превратить в есть пять
00:03:41
для того чтобы обеспечить лучшую
00:03:43
поддержку но давайте рассмотрим еще
00:03:45
дополнительные функции которые есть в с6
00:03:49
но мы их еще не рассматривали
00:03:51
и посмотрим что же они нам дают многое
00:03:56
из того что мы уже рассмотрели
00:03:58
была введена в стандарте есть шесть я об
00:04:00
этом даже не упоминал
00:04:02
и мы сразу же пользовались всеми новыми
00:04:05
удобствами этого стандарта но сейчас я
00:04:08
покажу вам еще дополнительные
00:04:10
возможности которые появились в ис-6 с
00:04:14
помощью слова лет мы создавали
00:04:16
переменную но если мы хотим сделать
00:04:18
переменную не изменяя
00:04:19
мы мы можем использовать слово const
00:04:22
указываем любое здесь название и любое
00:04:26
значение
00:04:30
теперь с этой переменной мы можем
00:04:32
работать но если мы захотим ее изменить
00:04:34
например указать ей новое значение мы
00:04:37
получаем данную ошибку потому что это у
00:04:41
нас константа
00:04:42
ее никак нельзя изменять самостоятельно
00:04:45
ее можно указать один раз при создании с
00:04:49
каким-то значением и всегда она будет
00:04:51
именно с таким значением теперь
00:04:53
рассмотрим оператор расширение
00:04:55
создадим простую функцию которая будет
00:04:58
принимать
00:04:59
a и b и возвращать результат сложения
00:05:03
этих двух чисел максимально простая
00:05:06
функция теперь создадим здесь массив из
00:05:09
двух каких-то значений и вызовем нашу
00:05:14
функцию
00:05:19
передадим суда в качестве параметра наш
00:05:23
массив
00:05:24
но добавим спереди три точки это и есть
00:05:27
оператор расширения и как вы видите у
00:05:31
нас были сложены вот эти два значения из
00:05:35
массива 4 подстраивать в качестве a8
00:05:39
подставить в качестве b и они сложились
00:05:42
у нас благодаря вот этому оператору
00:05:43
расширения этот массив разбился на
00:05:46
отдельные значения и подставился в
00:05:48
качестве этих аргументов может
00:05:50
показаться сложным но иногда это намного
00:05:53
удобнее применить когда у вас есть
00:05:55
какой-то массив с данными и их нужно
00:05:57
быстро передать функцию поэтому можно
00:06:00
использовать три точки и таким образом
00:06:02
мы можем массив передать функцию в
00:06:05
качестве отдельных параметров теперь
00:06:09
давайте рассмотрим деструктивное
00:06:11
присваивание например мы хотим создать
00:06:14
несколько переменных и сразу же задать
00:06:16
им какие-то значения мы можем
00:06:19
использовать здесь
00:06:21
лет создании переменной и здесь
00:06:24
указываем название наших переменных
00:06:25
пусть это будет a b c и d после этого мы
00:06:30
указываем знак равно и здесь у нас также
00:06:35
массив с какими-то значениями нажимая
00:06:41
выполнить и теперь у нас создана четыре
00:06:44
отдельные переменные а не массив с ними
00:06:46
и мы их можем использовать по
00:06:48
отдельности как вы видите
00:06:52
каждое из этих переменных записано свое
00:06:55
значение из данного массива это
00:06:57
называется деструктивное присваивание и
00:06:59
вместо того чтобы писать например вот
00:07:02
таким образом light a равно указывать
00:07:06
какой-то массив 0 яндекс лет b равно
00:07:12
индекс 1 и так далее мы можем сразу в
00:07:15
одной строке присвоить нескольким
00:07:17
переменным какие-то значения из массива
00:07:20
мы уже вкратце касались темы стрелочных
00:07:23
функций и сейчас рассмотрим их немного
00:07:26
подробнее стрелочным функцию можно
00:07:29
создать следующим образом
00:07:31
указываем
00:07:32
здесь название после знака равно
00:07:37
указываем круглые скобки с параметрами
00:07:43
далее указываем равно
00:07:46
и такую вот скобку треугольную и ставим
00:07:50
что-то вроде стрелки открываем фигурные
00:07:53
скобки и делаем какой-то код например
00:07:56
просто вернем a + b + c и после этого
00:08:00
можем вызывать эту функцию и получать
00:08:03
какие-то значения функции созданные с
00:08:05
помощью этого синтаксиса являются
00:08:08
анонимными
00:08:09
если у нас выполняется что-то в одной
00:08:13
строке как в этом примере просто require
00:08:15
a + b + c можно использовать следующий
00:08:19
синтаксис мы просто убираем здесь
00:08:21
фигурные скобки убираем реке рн и пишем
00:08:24
какое-то выражение и теперь мы можем эту
00:08:27
функцию использовать и она у нас также
00:08:34
будет работать мы и записали всего лишь
00:08:38
в одну строку
00:08:41
так как у нас здесь было всего лишь одно
00:08:44
выражение самое главное преимущество
00:08:46
стрелочных функций перед обычными это то
00:08:50
что они сохраняют контекст у всех
00:08:53
функций есть свой собственный какой-то
00:08:56
контекст что это означает когда мы
00:08:59
создаем функцию у нее можно с помощью
00:09:03
слова зис обратиться к ее собственному
00:09:06
контексту и мы указываем зис иж например
00:09:09
равен нулю и в пределах этой функции
00:09:14
здесь речь у нас будет в данном
00:09:17
контексте но когда мы создаем здесь
00:09:20
дополнительную функцию указываемые в
00:09:24
качестве анонимные функции для сет
00:09:27
интервал
00:09:28
сет интервал у нас просто вызывает
00:09:30
какую-то функцию через 1000 миллисекунд
00:09:32
то есть раз в секунду он будет вызывать
00:09:35
функцию мы здесь передаем эту функцию и
00:09:40
мы хотим здесь
00:09:41
edge увеличить на единицу и вывести этот
00:09:43
здесь edge
00:09:44
как мы видим после сохранения и запуска
00:09:48
этого кода у нас в консоли
00:09:51
абсолютно какой-то непонятный результат
00:09:53
почему-то наш возраст не увеличивается и
00:09:57
не выводится все происходит потому что у
00:10:00
этой функции grow которому мы здесь
00:10:02
создали свой собственный зис и вот этот
00:10:05
здесь внутри данной функции
00:10:07
это не тоже самое что dice в нашей
00:10:10
внешней функции
00:10:11
person и как раз таки для такого случая
00:10:15
мы здесь указываем стрелочные функцию
00:10:18
просто указываем круглые скобки стрелку
00:10:21
и тело функцию точно таким же образом
00:10:25
как и было раньше и теперь как вы видите
00:10:28
все у нас работает
00:10:29
эти два слова зис это один и тот же
00:10:32
контекст нашей функции person
00:10:34
и таким образом у нас каждую секунду это
00:10:37
значение увеличивается на единицу и
00:10:39
выводится это самый простой пример на
00:10:42
котором можно продемонстрировать что
00:10:45
такое контекст и как его сохранить с
00:10:49
помощью стрелочных функций и как раз
00:10:52
таки он заключается именно на
00:10:54
демонстрации того что у каждой функции
00:10:57
слово здесь это что-то свое собственное
00:11:00
и для того чтобы внутри вложено каких то
00:11:03
функция не совпадали мы используем
00:11:05
стрелочные функции теперь думаю понятно
00:11:07
что стрелочные функции это не только
00:11:10
способ более короткой записи функции но
00:11:13
еще и очень полезный механизм который
00:11:16
нужно использовать с умом только в тех
00:11:18
ситуациях когда это действительно
00:11:19
требуется и можно сохранить контекст
00:11:22
таким образом и ваш код будет работать
00:11:25
так как вы задумали в кого скрипт часть
00:11:29
также появилась возможность создания
00:11:32
двоичных чисел мы создаем обычную
00:11:34
переменную и с помощью
00:11:36
0 б мы записываем какое-то любое
00:11:39
значение 0 б указывает на то что это
00:11:42
двоичная система а дальше мы пишем
00:11:44
какое-то число из нулей и единиц смотрим
00:11:50
и получаем что это у нас ни что иное как
00:11:53
число 7
00:11:55
если вам нужно работать в двоичной
00:11:57
системе можно использовать такую запись
00:11:59
для того чтобы создавать эти числа в
00:12:02
результате мы получаем десятичное
00:12:05
значение но здесь можно с ним работать в
00:12:08
такой форме если вам нужно работать в
00:12:11
восьмеричной системе счисления то можно
00:12:13
создать переменную таким образом мы
00:12:17
указываем 0 маленькая английская буква о
00:12:20
и указываем какое-то число в
00:12:23
восьмеричной форме после этого если мы
00:12:27
выведем то мы получаем что 10 в
00:12:29
восьмеричной системе это у нас 8 в java
00:12:33
script все числа представлены в виде
00:12:36
числа с плавающей запятой то есть даже
00:12:40
если мы запишем какое-то число 18 а она
00:12:43
будет воспринято как число 18,0 и для
00:12:49
того чтобы проверить является ли число
00:12:51
целом появился специальный метод он
00:12:54
доступен у класса набор через точку мы
00:12:57
указываем метод из интеджер
00:13:00
и передаем здесь какое-то число если
00:13:04
здесь мы передадим даже число 18,0 то мы
00:13:08
получаем true
00:13:09
это целое число у нас потому что после
00:13:13
запятой у нас ничего нет а если здесь
00:13:15
укажем какую-то дробную часть то мы уже
00:13:17
видим фолз это означает что число у нас
00:13:20
не целая давайте сейчас взглянем на
00:13:24
такой код эта функция изгнан
00:13:27
не новая функция сейчас мы сначала
00:13:29
рассмотрим ее а потом новый аналог и из
00:13:32
с 6 существует такое специальное
00:13:35
значение нам записывается именно так и
00:13:38
вы видите сразу синтаксис здесь
00:13:39
подсвечивается таким голубым цветом и
00:13:43
это значение у нас иногда возникает само
00:13:45
собой то есть мы его не создаем таким
00:13:48
образом искусственно как сейчас а при
00:13:51
каких-то наших операциях она может у нас
00:13:54
появится в какой-то переменной и мы
00:13:56
можем с помощью этого значения проверять
00:13:59
что это у нас не число но функция из нас
00:14:04
старая функция работать таким образом
00:14:06
что она возвращает нам
00:14:08
фолз только в том случае если у нас
00:14:12
действительно переданное число то есть
00:14:14
мы видим сейчас что да у нас 12 мы
00:14:16
получили в результате фолз то есть она у
00:14:19
нас не равно этому значению нам а во
00:14:23
всех остальных случаях будь то строка с
00:14:26
таким текстом или само значение на
00:14:28
или любая другая строка мы получаем true
00:14:31
но если нам нужно проверить конкретно
00:14:33
это значение нам с этой функции мы не
00:14:36
сможем добиться нужного результата
00:14:38
поэтому здесь у нас появился в с6
00:14:41
новый метод у класса намбер нам здесь
00:14:46
нужно только то писать нам бар поставить
00:14:48
точку и название такой же у нас из нам у
00:14:51
этого метода но он работает уже по
00:14:53
другому как вы видите мы всегда получаем
00:14:55
фолз кроме того случая когда у нас
00:14:58
действительно здесь это значение нам
00:15:00
сейчас вам может это показаться
00:15:02
абсолютно бесполезной информации но если
00:15:04
вы будете создавать какие-то функции
00:15:07
работающие с числами какие-то алгоритмы
00:15:09
различные математические расчеты то
00:15:12
этого может быть очень полезна и вот это
00:15:15
значение нам очень часто всплывает
00:15:17
при каких-то ошибках и может у вас в
00:15:21
переменной появится это значение а с
00:15:23
помощью этого метода мы можем как раз
00:15:25
так и проверить появилась ли у нас это
00:15:27
значение в переменной и предпринять
00:15:29
какие то действия уже в зависимости от
00:15:32
этого также в есть шесть появились
00:15:36
дополнительные тригонометрические методы
00:15:39
в библиотеке мэс это гиперболический
00:15:42
синус косинус тангенс обратной
00:15:45
гиперболический синус косинус и тангенс
00:15:47
и теорема пифагора все эти методы
00:15:49
записываются таким образом я сейчас вам
00:15:52
просто показываю как они записываются
00:15:55
как называются и что они выводят в
00:15:57
результате если же вы столкнетесь с
00:16:01
задачи когда вам нужно будет применить
00:16:03
что-то из тригонометрии вы уже будете
00:16:05
знать что есть такие готовые методы
00:16:08
которые нужно просто использовать и
00:16:11
сразу же получить какой-то результат
00:16:13
поэтому мы долго на них сейчас
00:16:16
останавливаться не будем и нет никакого
00:16:18
смысла сейчас подробно рассматривать
00:16:21
эти методы по отдельности так же как и с
00:16:23
тригонометрическими
00:16:25
методами мы рассмотрим 5 методов которые
00:16:28
появились это алгебраические методы для
00:16:31
вычисления логарифма по основанию 2 по
00:16:33
основанию 10
00:16:35
также функция которая делает логарифм 1
00:16:39
плюс какое-то значение функция обратная
00:16:43
предыдущий и корень кубический если
00:16:47
требуется извлечь
00:16:48
можно сразу же использовать готового
00:16:50
такую функцию это как sqrt только не для
00:16:53
квадратного корня а для кубического
00:16:55
также не будем останавливаться долго на
00:16:58
этих методах просто знаете что они
00:17:00
существуют в данные встроенной
00:17:02
библиотеки и можно их использовать при
00:17:04
необходимостью также у нас появился
00:17:06
метод sein который позволяет определить
00:17:10
знак числа если мы получаем в результате
00:17:14
единицу то это значит число
00:17:16
положительное
00:17:17
если -1 отрицательное если 0 число равно
00:17:20
нулю
00:17:21
как вы видите из трех этих строк кода мы
00:17:24
получаем такие вот результаты теперь
00:17:28
рассмотрим несколько методов для работы
00:17:31
с страховым типом данных например мы
00:17:33
хотим какую-то строку повторить
00:17:35
несколько раз это можно просто вывести
00:17:37
или записать в переменную но суть в том
00:17:40
что это работает следующим образом мы
00:17:43
указываем метод рипит для какой-то
00:17:45
строки и в скобках передаем сколько раз
00:17:48
нам нужно повторить например три раза мы
00:17:50
хотим повторить эту строку str и мы
00:17:53
выводим стр стр стр 3 раза это можно
00:17:56
записать в переменную
00:17:58
если требуется так и вот образом точно
00:18:01
так же это будет у нас все работать и
00:18:03
это перемена у нас будет доступна для
00:18:06
дальнейших каких-то действий как вы
00:18:08
видите поэтому метод рипит
00:18:10
можно использовать для повтора какого-то
00:18:12
строго выражения для того чтобы найти
00:18:15
одну строку в другой можно использовать
00:18:19
метод includes например мы хотим в
00:18:21
строке
00:18:22
стр выполнить поиск мы указываем метод
00:18:25
includes и здесь в скобках мы передаем
00:18:29
значение которое мы будем искать
00:18:31
например мы будем искать
00:18:33
слово simple видим утру то есть такая
00:18:36
строка simple присутствует в нашей
00:18:39
строке стр здесь также через запятую
00:18:42
можно указать второй параметр позишн эта
00:18:48
позиция индекс
00:18:51
с которого нужно начать поиск давайте
00:18:53
укажем например с какого-нибудь 12
00:18:56
индекса и видим уже фолз потому что мы
00:19:00
начали примерно вот отсюда поиск и здесь
00:19:04
уже дальше это слово не встречается
00:19:06
поэтому при необходимости здесь можно
00:19:07
указывать индекс
00:19:09
с которого вы хотите начать поиск также
00:19:12
существуют два метода которые позволяют
00:19:15
проверить начинается ли строка с
00:19:17
какого-то слова или заканчивается
00:19:20
они называются таким образом starts
00:19:24
виз и and wise то есть мы указываем
00:19:30
здесь например холов
00:19:32
так же здесь можно указывать индекс с
00:19:34
которого мы хотим начать
00:19:35
но так как мы хотим самого начала все
00:19:37
проверить мы указываем просто хэллоу
00:19:40
и видим что действительно true у нас
00:19:41
возвращается если мы здесь укажем
00:19:44
например не запятую а пробел то мы сразу
00:19:46
получим фолз потому что строка здесь
00:19:48
продолжается немного по-другому так же
00:19:50
метод у нас and позволяет нам проверить
00:19:56
заканчивается ли строка на вот такое
00:20:00
выражение мы сейчас видим falls
00:20:02
если мы укажем здесь например такое вот
00:20:06
значение то получаем сразу true потому
00:20:08
что у нас действительно в конце именно
00:20:10
три этих символа и присутствуют методы
00:20:13
includes старцев и сын swiss очень
00:20:16
простые но могут очень пригодиться нам
00:20:19
при работе со стропами у массива
00:20:22
появился метод фил который позволяет
00:20:24
заполнять нам значение массива
00:20:27
каким-то новым значением то есть мы
00:20:29
например хотим наш вот этот вот массив
00:20:31
полностью завести все нули вместо вот
00:20:34
этих значений мы указываем
00:20:36
массива метод фил в скобках передаем 0 и
00:20:41
тем самым весь наш массив заполняется
00:20:43
нулями мы видим сразу же это все в
00:20:46
результате тут также существуют два
00:20:48
параметра это стартовый индекс с
00:20:51
которого мы хотим начать заполнение и
00:20:53
конечный если мы укажем только стартовый
00:20:57
например 1 то мы видим что у нас 1
00:21:01
индекса все заполнилась нулями нулевой
00:21:03
индекс
00:21:04
остался как и был числом 5 если мы
00:21:07
укажем еще и конечный индекс например 2
00:21:09
то мы здесь всего лишь одно число
00:21:13
изменили на 0 а все остальные мы не
00:21:17
трогали чем-то данный метод похож на
00:21:19
splyce но также может быть очень полезен
00:21:23
если нужно в массив помещать какие-то
00:21:25
определенные значения для того чтобы
00:21:28
изменить содержимое массива также у
00:21:31
массива есть три метода
00:21:33
entries кейс и вильнюс они вызываются
00:21:37
таким вот образом как и все остальные
00:21:39
методы и возвращают нам следующие
00:21:42
результаты если мы выведем эти три
00:21:44
переменные которые мы сейчас создали с
00:21:47
помощью соответствующих методов
00:21:48
мы видим здесь в консоли и рэй итератора
00:21:51
для того чтобы посмотреть что у нас из
00:21:53
этого получилось мы здесь как раз таки
00:21:55
используем наши три точки которые мы
00:21:58
рассмотрели ранее
00:21:59
добавляем их сейчас везде и сразу же
00:22:02
будет понятно что делают эти три метода
00:22:04
у нас был изначальный вот такой массив
00:22:07
со значениями а b и c и вы видите что у
00:22:11
и льюс у нас возвращает эти самые
00:22:14
значения a b и c кейс возвращает у нас
00:22:18
индексы 0 1 и 2 а
00:22:22
entries возвращает у нас индекс и
00:22:25
значение и это все у нас в виде массивов
00:22:27
как вы видите у нас получается здесь три
00:22:30
массива для трех этих значений указан
00:22:34
яндекс и указано значение в каждом из
00:22:37
этих массивов и таким образом также
00:22:39
можно использовать эти три метода если
00:22:42
необходимо получить ключи и значения из
00:22:45
массива
00:22:47
самое главное здесь не забывать про вот
00:22:49
эти три точки потому что у нас в
00:22:51
результате получается и рэй итератора
00:22:54
также в этом скрипте 6 мы можем работать
00:22:56
с множествами
00:22:58
создаются они с помощью new set
00:23:01
множество чем-то похоже у нас на массив
00:23:05
но в нем не могут повторяться какие-то
00:23:07
элементы у него и свои собственные
00:23:09
методы и так же нам даёт это какие-то
00:23:12
возможности при выполнении различных
00:23:17
математических задач с помощью метода от
00:23:21
мы можем добавить какое-то значение мы
00:23:23
добавляем 1 2 3 и один но так как
00:23:27
элементы у нас не могут повторяться
00:23:28
единица второй раз у нас добавляться не
00:23:31
будет в результате мы видим сет 123
00:23:35
здесь в консоли и видим что дубликатов
00:23:39
здесь как раз таки нету они у нас
00:23:41
фигурных скобках и указано что это сет
00:23:43
именно множество то есть это и вроде бы
00:23:46
не массив и не объект но реализуется он
00:23:49
именно по таким технологиям
00:23:51
просто с множествами удобнее работать в
00:23:54
некоторых ситуациях
00:23:55
если мы используем метод he's the мы
00:23:58
можем проверить
00:23:59
имеется ли какое-то значение в этом
00:24:01
множестве например значения 4
00:24:03
нету поэтому мы видим в результате фолз
00:24:06
сайт . says указывает размер нашего
00:24:09
множество с помощью удалит мы можем
00:24:12
удалить какой-то элемент из множества мы
00:24:16
сейчас стали ли элемент 2 и видим новый
00:24:18
наш сет с элементами 1 и 3 и методом
00:24:22
clear мы можем полностью очистить и
00:24:24
видим просто пустое множество у нас
00:24:26
сейчас здесь образовалась есть очень
00:24:30
крутой лайфхак сейчас я вам покажу как с
00:24:32
помощью множества можно избавить наш
00:24:34
массив от дубликатов например у нас есть
00:24:37
обычный массив с какими-то
00:24:41
значениями абсолютно неважно какие там
00:24:45
значения мы указываем некоторые значения
00:24:47
повторяющимися и мы хотим просто удалить
00:24:51
из этого массива все дубликаты мы можем
00:24:55
создать сейчас новый массив и в него
00:24:59
записать следующую конструк
00:25:01
new set мы создаем множество из нашего
00:25:05
массива передаем здесь наш массив
00:25:07
круглых скобках после этого указываем
00:25:10
здесь три точки и квадратные скобки
00:25:13
чтобы создать из всего этого массив
00:25:16
такая вот хитрая конструкция но она
00:25:21
позволяет нам удалить все дубликаты из
00:25:24
массива мы сначала превращаем это все в
00:25:27
множество а потом с помощью трех точек и
00:25:29
этих квадратных скобках мы обратно
00:25:31
превращаем наше множество в массив
00:25:33
потому что мы хотим в результате
00:25:35
получить также массив чтобы с ним
00:25:38
работать как с обычными массивами а не
00:25:41
как с множествами и поэтому сейчас мы
00:25:43
смотрим результат мы видим на выходе
00:25:46
точно также мы получили массив
00:25:48
они множество но здесь уже нет никаких
00:25:51
дубликатов если бы мы не указали вот эти
00:25:53
вот конструкции с тремя точками
00:25:55
квадратными скобками мы бы получили
00:25:57
множество в котором у нас также нет
00:26:00
дубликатов но тем не менее вы видите что
00:26:02
этот сет и с ним нельзя работать
00:26:04
теми методами которые предназначены для
00:26:07
массивов поэтому если требуется к именно
00:26:11
массив мы указываем здесь дополнительно
00:26:14
еще вот такую вот запись и получаем в
00:26:17
результате массив без дубликатов очень
00:26:20
полезное
00:26:21
выражение рекомендую вам его запомнить
00:26:23
либо записать куда-то потому что такая
00:26:26
задача действительно очень часто
00:26:27
появляется и если вы не знаете про этот
00:26:31
способ то можно очень не рациональным
00:26:34
путем решать данную задачу писать
00:26:36
какие-то циклы
00:26:37
удалять дубликаты и все это будет у вас
00:26:40
конечно же не самым оптимальным образом
00:26:42
выполнена сейчас мы рассмотрели новые
00:26:46
возможности ecmascript 6 стандарт также
00:26:49
уже является не самым последним есть и
00:26:52
более новые его версии но acme скрипт 6
00:26:55
дал очень мощные инструменты и
00:26:59
возможности для работы на данном языке и
00:27:02
уже достаточно хорошо поддерживается как
00:27:04
мы увидели в начале этого урока все
00:27:07
ссылки на полезные источники вы найдете
00:27:10
в описании сможете дополнительно
00:27:12
прочитать какую-то информацию
00:27:13
ознакомиться с таблицами поддержки в
00:27:17
браузерах стандартов из 5 из 6
00:27:21
и также не забывайте использовать
00:27:23
компиляторы по типу бейгл для того чтобы
00:27:26
превращать ваш код написанное 6 в код
00:27:29
предыдущих стандартов чтобы он
00:27:31
поддерживался на любых устройствах в
00:27:34
любых браузерах
00:27:35
и ваши скрипты везде работали одинаково
00:27:38
правильно

Описание:

В этом уроке мы рассмотрим возможности ECMAScript 2015 (ES6). А именно такие темы как: компилятор Babel, Константы на языке JavaScript, Оператор расширения, Деструктивное присваивание, Стрелочные функции, Сохранение контекста this на JS, Двоичные числа, Восьмеричные числа, Проверка на целое число, Проверка на число и значение NaN, Тригонометрические и Алгебраические методы, Определение знака числа, Повторение строки, Поиск в строке, Заполнение массива, Ключи и значения массива, Множества и Удаление дубликатов в массиве на языке JavaScript. Продолжение курса: https://youtu.be/HU78HrKW9XI 1. Спецификация ECMAScript https://ru.wikipedia.org/wiki/ECMAScript 2. JavaScript компилятор https://babeljs.io/ 3. Поддержка спецификации ECMAScript 5 https://caniuse.com/es5 4. Поддержка спецификации ECMAScript 2015 (ES6) https://caniuse.com/es6 Архив с примерами кода Яндекс Диск: https://yadi.sk/d/_5io82vvFqKI1A Google Диск: https://drive.google.com/file/d/1oFlljZNUc0X7TXlHZkveuyNv_eJlpqC7/view?usp=sharing Донаты ( ₽ ) 1. СберБанк VISA: 4274 3200 3233 1582 2. YooMoney: https://sobe.ru/na/itdoctor 3. PayPal: https://paypal.me/itdoctorstudio 4. Станьте спонсором канала: https://www.youtube.com/channel/UC2Ev-rDSHBov0ZMChesLfrg/join 5. Subscribe my Patreon: https://www.patreon.com/IsmailUseinov Материалы к урокам: https://t.me/itdoctorstudio ✅ Я, Исмаил Усеинов Группа ВК - https://vk.com/itdoctorstudio GitHub - https://github.com/morphIsmail Instagram - https://instagram.com/ismail_asanovich/ Twitter - https://twitter.com/ITDoctor_morph Facebook - https://www.facebook.com/drinei Pinterest - https://www.pinterest.ru/drinei92/_created/ Я.Дзен - https://zen.yandex.ru/id/5f994406f3d1290ebf9287d5

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "#12 Возможности ES6 или ECMAScript 2015, Супер JavaScript, Основы"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "#12 Возможности ES6 или ECMAScript 2015, Супер JavaScript, Основы" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "#12 Возможности ES6 или ECMAScript 2015, Супер JavaScript, Основы"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "#12 Возможности ES6 или ECMAScript 2015, Супер JavaScript, Основы" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "#12 Возможности ES6 или ECMAScript 2015, Супер JavaScript, Основы"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "#12 Возможности ES6 или ECMAScript 2015, Супер JavaScript, Основы"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.