JavaScript заметки
8.56K subscribers
2.75K photos
4 videos
1.27K links
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке.

Можно почитать пока компилируется проект :)

Сотрудничество: @noname_media

Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Download Telegram
.every()

Метод массива .every() позволяет узнать, удовлетворяют ли все элементы в массиве условию в функции-колбэке. Результатом вызова метода .every() будет boolean-значение true или false. Если хотя бы один элемент не будет удовлетворять условию, то результат будет false.

#массив #every

Подробнее
👍7
.some()

Метод массива some() позволяет узнать, есть ли в массиве хотя бы один элемент, удовлетворяющий условию в функции-колбэке. Колбэк-функция будет вызываться для каждого элемента массива до тех пор, пока не вернётся true, либо пока не закончатся элементы массива.

Результатом вызова метода some() будет boolean-значение true или false. Если ни один элемент в массиве не удовлетворит условию, то результат будет false.

#массив #some

Подробнее
👍8🔥21
.reverse()

Метод reverse() обращает порядок элементов в массиве в обратном направлении, то есть делает первый элемент последним, а последнийпервым.

Метод изменяет массив, по отношению к которому вызван, и возвращает ссылку на изменённый массив.

#reverse #массив

Подробнее
👍61🔥1
.includes()

Этот метод определён у массивов и строк.

Для массивов: проверяет, есть ли искомый элемент в массиве.

Для строк: проверяет, есть ли искомая подстрока в строке.

Возвращает true, если искомый элемент нашёлся и false — если нет.

#массивы #includes

Подробнее
👍82🔥1
.indexOf()

Этот метод служит для поиска. Он определён для массивов и строк.

При вызове нужно передать, что искать. Вернётся индекс первого найденного элемента или -1, если ничего не нашлось.

#массивы #indexOf

Подробнее
👍42🔥1
.length

Свойство length возвращает количество элементов в массиве. Если элементов нет, то свойство возвращает 0.

#массивы #length

Подробнее
🔥4👍32
Array.from()

Функция Array.from() создаёт новый массив на основе переданного объекта. Объект должен быть либо массивоподобным (как строка или объект arguments), либо итерируемым (как Set или Map).

#массивы #Arrayfrom

Подробнее
3🔥3👍2
Синхронизация между атрибутами и свойствами

Когда стандартный атрибут изменяется, соответствующее свойство автоматически обновляется. Это работает и в обратную сторону (за некоторыми исключениями).

В примере выше id модифицируется как атрибут, и можно увидеть, что свойство также изменено. То же самое работает и в обратную сторону.

#браузер #документ #атрибуты_свойств
👍41🔥1
Дескрипторы

Объекты
, как мы знаем, содержат свойства. У каждого из свойств объекта, кроме значения, есть ещё три флага конфигурации, которые могут принимать значения true или false. Эти флаги называются дескрипторами:

writable — доступно ли свойство для записи;
enumerable — является ли свойство видимым при перечислениях (например, в цикле for..in);
configurable — доступно ли свойство для переконфигурирования.

Когда мы создаём свойство объекта «обычным способом», эти три флага устанавливаются в значение true.

Для изменения значений дескрипторов применяется статический метод Object.defineProperty(), а для чтения значенийObject.getOwnPropertyDescriptors().

Другими словами, дескрипторы — это пары ключ-значение, которые описывают поведение свойства объекта при выполнении операций над ним (например, чтения или записи).

#объекты #Дескрипторы

Подробнее
👍91
Array.isArray()

Статический
метод Array.isArray() проверяет, является ли переданный аргумент массивом. Возвращает true, если является, и false — если нет.

#массивы #ArrayisArray

Подробнее
👍63🔥1
Объект

Кроме примитивных типов в JavaScript существуют и сложные — например, объект.

Объект (object) — это набор свойств. Каждое свойство состоит из названия и значения. Название может быть строкой или символом, а значение может быть любым.

Объекты в JavaScript используются повсюду, особенно для хранения данных. Для уверенной работы с объектами необходимо знать, как создавать объект, как его изменять и как читать значения свойств.

#объекты #Объект

Подробнее
👍41🔥1
.toString()

Метод toString() преобразует объект в строковое представление. Метод автоматически вызывается JavaScript, когда объект нужно представить в текстовом виде.

Если метод не переопределён, то он возвращает строку формата [object тип], где тип — это строка, которая уточняет тип объекта. В подавляющем большинстве вы будете видеть вывод [object Object].

#объекты #toString

Подробнее
🔥5👍31
DOM-свойства типизированы

DOM-свойства не всегда являются строками. Например, свойство input.checked (для чекбоксов) имеет логический тип.

Есть и другие примеры. Атрибут style – строка, но свойство style является объектом.

Хотя большинство свойств, всё же, строки.

При этом некоторые из них, хоть и строки, могут отличаться от атрибутов. Например, DOM-свойство href всегда содержит полный URL, даже если атрибут содержит относительный URL или просто #hash.

#браузер #документ #свойства_узлов
👍4🔥21
Почти всё в JavaScript — объект

В JavaScript объект является прародителем всех других сущностей. Все типы данных и структуры, кроме примитивных, являются потомками объекта. По этой причине абсолютно у всех наследников объекта имеется набор общих методов: toString(), valueOf() и др.

#объекты #объект

Подробнее
👍41🔥1
Set

Set
(по-русски говорят множество) — коллекция для хранения уникальных значений любого типа. Одно и то же значение нельзя добавить в Set больше одного раза.

Set — это неиндексированная коллекция, положить элемент в коллекцию можно, но достать нельзя. По элементам коллекции можно итерироваться.

Основные методы для работы с коллекцией:

add()добавить элемент.
delete()удалить элемент.
has()проверить, есть ли элемент в коллекции.
clear()очистить коллекцию.
forEach() — выполнить функцию для каждого элемента в коллекции, аналогично одноимённому методу массива.

Содержит свойство size для получения количества элементов в коллекции.

#множества #Set

Подробнее
👍13🔥21
.keys()

Возвращает итератор для обхода значений коллекции Set в порядке добавления значений в коллекцию.

Обычно метод keys() возвращает итератор для обхода ключей коллекции, но так как коллекция Set не имеет ключей, то для поддержки универсального интерфейса итератор возвращает значения.

Метод используется редко, правильнее использовать метод values(), так как он даёт лучшую читаемость коду.

#множества #keys

Подробнее
👍92🔥2
.add()

Метод add() добавляет значение в коллекцию Set. Если значение уже есть в коллекции, то вызов игнорируется.

#множества #add

Подробнее
🔥5👍21
.entries()

Возвращает итератор, который обходит массив пар [значение, значение] коллекции Set в порядке добавления этих значений в коллекцию.

Обычно метод entries() возвращает итератор с парой [ключ, значение] коллекции, но так как коллекции Set не имеют ключей, то для поддержки универсального интерфейса итератор возвращает пару из одного и того же значения.

Метод используется редко.

#множества #entries

Подробнее
👍101🔥1
.size

Свойство size содержит количество значений, находящихся в коллекции Set. Доступно только для чтения.

#множества #size

Подробнее
👍91🔥1
try...catch

Конструкция try...catch позволяет выполнить произвольный код, но если в нем произошла ошибка, то программа не остановит своё выполнение, а перейдёт в блок catch, где ошибку можно обработать.

#обработка_исключений #trycatch

Подробнее
👍82🔥1