Коллекция Map
Также как и объект, словарь позволяет:
— получать значение по ключу, а также проверять наличие ключа
— добавлять/удалять пары ключ/значение
— перезаписывать значение по ключу (ключи уникальны).
— итерироваться по ключам
Преимущества над объектами:
— Ключи словаря могут быть любого типа (а не только строки).
— Словарь хранит свой размер (не надо вычислять).
— Натуральный порядок обхода элементов ( в порядке добавления) с помощью
— Словарь не подмешивает ключи из прототипа (в отличие от объекта).
#словари #map
Map - реализация простого ассоциативного массива (словаря). Он содержит данные в виде набора пар ключ/значение (ключи уникальны) и предоставляет методы для доступа и манипулирования этими данными. Также как и объект, словарь позволяет:
— получать значение по ключу, а также проверять наличие ключа
— добавлять/удалять пары ключ/значение
— перезаписывать значение по ключу (ключи уникальны).
— итерироваться по ключам
Преимущества над объектами:
— Ключи словаря могут быть любого типа (а не только строки).
— Словарь хранит свой размер (не надо вычислять).
— Натуральный порядок обхода элементов ( в порядке добавления) с помощью
for...of.— Словарь не подмешивает ключи из прототипа (в отличие от объекта).
#словари #map
👍13
Методы пользующиеся регулярными выражениями
Регулярные выражения используются в методах
exec() - метод
test() - метод
match() - метод
search() - метод
replace() - метод
split() - метод
#регулярки #методы
Регулярные выражения используются в методах
test и exec объекта RegExp и с методами match, replace, search, и split объекта String.exec() - метод
RegExp, который выполняет поиск совпадения в строке. Он возвращает массив данных.test() - метод
RegExp, который тестирует совпадение в строке. Возвращает либо истину либо ложь.match() - метод
String, который выполняет поиск совпадения в строке. Он возвращает массив данных либо null если совпадения отсутствуют.search() - метод
String, который тестирует на совпадение в строке. Он возвращает индекс совпадения, или -1 если совпадений не будет найдено.replace() - метод
String, который выполняет поиск совпадения в строке, и заменяет совпавшую подстроку другой подстрокой переданной как аргумент в этот метод.split() - метод
String, который использует регулярное выражение или фиксированную строку чтобы разбить строку на массив подстрок.#регулярки #методы
👍5
Промисы
В сущности, промис - это возвращаемый объект, в который вы записываете два колбэка вместо того, чтобы передать их функции.
Например, вместо старомодной функции, которая принимает два колбэка и вызывает один из них в зависимости от успешного или неудачного завершения операции (см. рисунок выше).
#promise
Promise - это объект, представляющий результат успешного или неудачного завершения асинхронной операции. Так как большинство людей пользуются уже созданными промисами, это руководство начнём с объяснения использования вернувшихся промисов до объяснения принципов создания. В сущности, промис - это возвращаемый объект, в который вы записываете два колбэка вместо того, чтобы передать их функции.
Например, вместо старомодной функции, которая принимает два колбэка и вызывает один из них в зависимости от успешного или неудачного завершения операции (см. рисунок выше).
#promise
👍2
BigInt
В некотором смысле он похож на
#BigInt #типы_данных
BigInt - это встроенный объект, который предоставляет способ представлять целые числа больше 2^53 - 1, наибольшего числа, которое JavaScript может надёжно представить с Number примитивом. Это максимальное значение можно получить, обратившись к Number.MAX_SAFE_INTEGER.В некотором смысле он похож на
Number, но отличается в некоторых ключевых моментах — его нельзя использовать с методами во встроенном объекте Math и нельзя смешивать в операциях с любыми экземплярами Number.#BigInt #типы_данных
👍1
Let
Для создания переменной в JavaScript используется ключевое слово
Переменная – это «именованное хранилище» для данных. Можно использовать переменные для хранения товаров, посетителей и других данных.
#let #переменные
Для создания переменной в JavaScript используется ключевое слово
let.Переменная – это «именованное хранилище» для данных. Можно использовать переменные для хранения товаров, посетителей и других данных.
#let #переменные
👍3
Инкремент/декремент
Одной из наиболее частых числовых операций является увеличение или уменьшение на единицу.
Для этого существуют даже специальные операторы:
Инкремент
Декремент
Инкремент/декремент можно применить только к переменной. Попытка использовать его на значении, типа 5++, приведёт к ошибке.
#операторы #инкремент #декремент
Одной из наиболее частых числовых операций является увеличение или уменьшение на единицу.
Для этого существуют даже специальные операторы:
Инкремент
++ увеличивает переменную на 1.Декремент
-- уменьшает переменную на 1.Инкремент/декремент можно применить только к переменной. Попытка использовать его на значении, типа 5++, приведёт к ошибке.
#операторы #инкремент #декремент
👍3
Константы
Чтобы объявить константную, то есть, неизменяемую переменную, используйте
Переменные, объявленные с помощью
Если программист уверен, что переменная никогда
не будет меняться, он может гарантировать это
и наглядно донести до каждого, объявив её через
#const #переменные
Чтобы объявить константную, то есть, неизменяемую переменную, используйте
const вместо letПеременные, объявленные с помощью
const, называются «константами». Их нельзя изменить. Попытка сделать это приведёт к ошибке.Если программист уверен, что переменная никогда
не будет меняться, он может гарантировать это
и наглядно донести до каждого, объявив её через
const.#const #переменные
👍3
F.prototype
Как мы помним, новые объекты могут быть созданы с помощью функции-конструктора
Если в
JavaScript использовал прототипное наследование с момента своего появления. Это одна из основных особенностей языка.
Но раньше, в старые времена, прямого доступа к прототипу объекта не было. Надёжно работало только свойство
Обратите внимание, что
Пример на картинке выше ☝️
#прототипы #f_prototype
Как мы помним, новые объекты могут быть созданы с помощью функции-конструктора
new F().Если в
F.prototype содержится объект, оператор new устанавливает его в качестве [[Prototype]] для нового объекта.JavaScript использовал прототипное наследование с момента своего появления. Это одна из основных особенностей языка.
Но раньше, в старые времена, прямого доступа к прототипу объекта не было. Надёжно работало только свойство
"prototype" функции-конструктора, описанное в этой главе. Поэтому оно используется во многих скриптах.Обратите внимание, что
F.prototype означает обычное свойство с именем "prototype" для F. Это ещё не «прототип объекта», а обычное свойство F с таким именем.Пример на картинке выше ☝️
#прототипы #f_prototype
👍1
Обработка ошибок, "try..catch"
Конструкция
Работает она так:
- Сначала выполняется код внутри блока
- Если в нём нет ошибок, то блок
- Если же в нём возникает ошибка, то выполнение
Пример кода на картинке выше ☝️
#обработка_ошибок #try_catch
Конструкция
try..catch состоит из двух основных блоков: try, и затем catch.Работает она так:
- Сначала выполняется код внутри блока
try {...}.- Если в нём нет ошибок, то блок
catch(err) игнорируется: выполнение доходит до конца try и потом далее, полностью пропуская catch.- Если же в нём возникает ошибка, то выполнение
try прерывается, и поток управления переходит в начало catch(err). Переменная err (можно использовать любое имя) содержит объект ошибки с подробной информацией о произошедшем.Пример кода на картинке выше ☝️
#обработка_ошибок #try_catch
👍1
