Коллекция 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
typeof
Часто бывает необходимо определить тип данных с которым ты работаешь и для этого есть оператор
Он возвращает строку, указывающую тип операнда.
Всего существует 8 возвращаемых значений:
-
-
-
-
-
-
-
-
#типы_данных #typeof
Часто бывает необходимо определить тип данных с которым ты работаешь и для этого есть оператор
typeof
.Он возвращает строку, указывающую тип операнда.
Всего существует 8 возвращаемых значений:
-
"undefined"
- тип undefined
-
"bigint"
- тип bigint
-
"boolean"
- тип boolean
-
"number"
- тип number
-
"string"
- тип string
-
"symbol"
- тип symbol
-
"function"
- тип функция-
"object"
- любой другой тип#типы_данных #typeof
👍2
Стиль кода
Код должен быть максимально читаемым и понятным.
Это и есть искусство программирования – взять сложную задачу и написать такой код для её решения, который и правильно работает, и легко читается, понятен для людей.
Для этого нужен хороший стиль написания кода.
Вот вам пару советов:
- Следуйте стандартам оформления кода.
- Давайте наглядные имена.
- Комментируйте и документируйте.
- Не повторяйтесь.
- Разделяйте код на короткие, обособленные части.
#стиль_кода #code_style
Код должен быть максимально читаемым и понятным.
Это и есть искусство программирования – взять сложную задачу и написать такой код для её решения, который и правильно работает, и легко читается, понятен для людей.
Для этого нужен хороший стиль написания кода.
Вот вам пару советов:
- Следуйте стандартам оформления кода.
- Давайте наглядные имена.
- Комментируйте и документируйте.
- Не повторяйтесь.
- Разделяйте код на короткие, обособленные части.
#стиль_кода #code_style
👍2
Массивы
Довольно часто мы понимаем, что нам необходима упорядоченная коллекция данных, в которой присутствуют 1-й, 2-й, 3-й элементы и т.д.
Например, она понадобится нам для хранения списка чего-либо: пользователей, товаров, элементов HTML и т.д.
В этом случае использовать объект неудобно, так как он не предоставляет методов управления порядком элементов. Мы не можем вставить новое свойство «между» уже существующими. Объекты просто не предназначены для этих целей.
Для хранения упорядоченных коллекций существует особая структура данных, которая называется массив, Array.
Чтобы создать массив можно воспользоваться оператором new или просто поставить квадратные скобки.
#массивы #array
Довольно часто мы понимаем, что нам необходима упорядоченная коллекция данных, в которой присутствуют 1-й, 2-й, 3-й элементы и т.д.
Например, она понадобится нам для хранения списка чего-либо: пользователей, товаров, элементов HTML и т.д.
В этом случае использовать объект неудобно, так как он не предоставляет методов управления порядком элементов. Мы не можем вставить новое свойство «между» уже существующими. Объекты просто не предназначены для этих целей.
Для хранения упорядоченных коллекций существует особая структура данных, которая называется массив, Array.
Чтобы создать массив можно воспользоваться оператором new или просто поставить квадратные скобки.
#массивы #array
👍2
Конструкция "switch"
Конструкция
Переменная
Если соответствие установлено –
Если ни один
#конструкция_switch #синтаксис
Конструкция
switch
заменяет собой сразу несколько if
. Она имеет один или более блок case
и необязательный блок default
.Переменная
x
проверяется на строгое равенство первому значению value1
, затем второму value2
и так далее.Если соответствие установлено –
switch
начинает выполняться от соответствующей директивы case
и далее, до ближайшего break
(или до конца switch
).Если ни один
case
не совпал – выполняется (если есть) вариант default
.#конструкция_switch #синтаксис
👍2
ES6
ECMAScript 2015, также известный как ES6, является фундаментальной версией стандарта ECMAScript.
ES6 привнёс ряд фундаментальных изменений в язык, которые стали его неотъемлемой частью.
Что принёс с собой этот стандарт:
- стрелочные функции
- новая область
-
- промисы
- generators
- классы
- конструктор и ещё многое-многое другое
Как вы могли заметить, практически все крутые фишки, которые используются повсеместно привнёс ES6.
А чтобы писать на крутом синтаксисе со скоростью света, вы можете установить плагин (ES6) сode snippets на свой редактор кода VS Code.
#ES6 #ECMAScript
ECMAScript 2015, также известный как ES6, является фундаментальной версией стандарта ECMAScript.
ES6 привнёс ряд фундаментальных изменений в язык, которые стали его неотъемлемой частью.
Что принёс с собой этот стандарт:
- стрелочные функции
- новая область
this
-
let
и const
- промисы
- generators
- классы
- конструктор и ещё многое-многое другое
Как вы могли заметить, практически все крутые фишки, которые используются повсеместно привнёс ES6.
А чтобы писать на крутом синтаксисе со скоростью света, вы можете установить плагин (ES6) сode snippets на свой редактор кода VS Code.
#ES6 #ECMAScript
👍1
Объекты
Объекты используются для хранения коллекций различных значений и более сложных сущностей.
В JavaScript объекты используются очень часто, это одна из основ языка.
Объект может быть создан с помощью фигурных скобок
Свойство – это пара «ключ: значение», где ключ – это строка (также называемая «именем свойства»), а значение может быть чем угодно.
На картинке выше создан объект user, где находятся два свойства:
- Первое свойство с именем "name" и значением "John"
- Второе свойство с именем "age" и значением 30.
Можно сказать, что наш объект user – это ящик с двумя папками, подписанными «name» и «age».
#типы_данных #objects
Объекты используются для хранения коллекций различных значений и более сложных сущностей.
В JavaScript объекты используются очень часто, это одна из основ языка.
Объект может быть создан с помощью фигурных скобок
{…}
с необязательным списком свойств. Свойство – это пара «ключ: значение», где ключ – это строка (также называемая «именем свойства»), а значение может быть чем угодно.
На картинке выше создан объект user, где находятся два свойства:
- Первое свойство с именем "name" и значением "John"
- Второе свойство с именем "age" и значением 30.
Можно сказать, что наш объект user – это ящик с двумя папками, подписанными «name» и «age».
#типы_данных #objects
👍1
JSON
Это текстовый формат представления данных в нотации объекта JavaScript.
Предназначен JSON, также как и некоторые другие форматы такие как XML и YAML, для обмена данными.
В JavaScript JSON очень часто применяется в качестве формата для передачи информации от веб-сервера клиенту (веб-браузеру) при AJAX запросе.
Основные методы:
-
Разбирает строку JSON, возможно с преобразованием получаемого значения и его свойств и возвращает разобранное значение.
-
Возвращает строку JSON, соответствующую указанному значению, возможно с включением только определённых свойств или с заменой значений свойств определяемым пользователем способом.
#JSON #типы_данных
Это текстовый формат представления данных в нотации объекта JavaScript.
Предназначен JSON, также как и некоторые другие форматы такие как XML и YAML, для обмена данными.
В JavaScript JSON очень часто применяется в качестве формата для передачи информации от веб-сервера клиенту (веб-браузеру) при AJAX запросе.
Основные методы:
-
JSON.parse()
Разбирает строку JSON, возможно с преобразованием получаемого значения и его свойств и возвращает разобранное значение.
-
JSON.stringify()
Возвращает строку JSON, соответствующую указанному значению, возможно с включением только определённых свойств или с заменой значений свойств определяемым пользователем способом.
#JSON #типы_данных
👍1