.findIndex()
Метод
Если вам нужно получить элемент, а не его индекс, то используйте метод
#массив #findIndex
Подробнее
Метод
findIndex()
возвращает индекс первого найденного в массиве элемента, который подходит под условие переданной функции. Если же ни одного подходящего элемента не найдётся, то метод вернёт -1.Если вам нужно получить элемент, а не его индекс, то используйте метод
find()
. А если необходимо проверить наличие чего-либо в массиве, то сначала обратите внимание на метод includes()
.#массив #findIndex
Подробнее
🔥3👍2❤1
.flat()
Метод
Метод принимает необязательный аргумент
Результатом вызова метода
Подробнее
Метод
flat()
возвращает новый массив и уменьшает вложенность массива на заданное количество уровней.Метод принимает необязательный аргумент
depth
— количество уровней, на которые нужно уменьшить вложенность. Значение по умолчанию — 1.Результатом вызова метода
flat()
будет новый массив меньшей вложенности.Подробнее
👍4🔥1
.flatMap()
Метод
Был добавлен в стандарте
#flatMap #массивы
Подробнее
Метод
flatMap()
позволяет сформировать массив, применяя функцию к каждому элементу, затем уменьшает вложенность, делая этот массив плоским, и возвращает его.Был добавлен в стандарте
ES2019.
Если вы поддерживаете браузеры, выпущенные раньше 2018 года, то вам понадобится полифил.#flatMap #массивы
Подробнее
👍8
.some()
Метод массива
Результатом вызова метода
#массив #some
Подробнее
Метод массива
some()
позволяет узнать, есть ли в массиве хотя бы один элемент, удовлетворяющий условию в функции-колбэке. Колбэк-функция будет вызываться для каждого элемента массива до тех пор, пока не вернётся true
, либо пока не закончатся элементы массива.Результатом вызова метода
some()
будет boolean-значение true
или false
. Если ни один элемент в массиве не удовлетворит условию, то результат будет false
.#массив #some
Подробнее
👍8🔥2❤1
Array.from()
Функция
#массивы #Arrayfrom
Подробнее
Функция
Array.from()
создаёт новый массив на основе переданного объекта. Объект должен быть либо массивоподобным (как строка
или объект arguments
), либо итерируемым (как Set
или Map
).#массивы #Arrayfrom
Подробнее
❤3🔥3👍2
Синхронизация между атрибутами и свойствами
Когда стандартный атрибут изменяется, соответствующее свойство автоматически обновляется. Это работает и в обратную сторону (за некоторыми исключениями).
В примере выше
#браузер #документ #атрибуты_свойств
Когда стандартный атрибут изменяется, соответствующее свойство автоматически обновляется. Это работает и в обратную сторону (за некоторыми исключениями).
В примере выше
id
модифицируется как атрибут, и можно увидеть, что свойство также изменено. То же самое работает и в обратную сторону.#браузер #документ #атрибуты_свойств
👍4❤1🔥1
Дескрипторы
Объекты, как мы знаем, содержат свойства. У каждого из свойств объекта, кроме значения, есть ещё три флага конфигурации, которые могут принимать значения
•
•
•
Когда мы создаём свойство объекта «
Для изменения значений дескрипторов применяется статический метод
Другими словами, дескрипторы — это пары ключ-значение, которые описывают
#объекты #Дескрипторы
Подробнее
Объекты, как мы знаем, содержат свойства. У каждого из свойств объекта, кроме значения, есть ещё три флага конфигурации, которые могут принимать значения
true
или false
. Эти флаги называются дескрипторами:•
writable
— доступно ли свойство для записи;•
enumerable
— является ли свойство видимым при перечислениях (например, в цикле for..in
);•
configurable
— доступно ли свойство для переконфигурирования.Когда мы создаём свойство объекта «
обычным способом
», эти три флага устанавливаются в значение true
.Для изменения значений дескрипторов применяется статический метод
Object.defineProperty()
, а для чтения значений — Object.getOwnPropertyDescriptors()
.Другими словами, дескрипторы — это пары ключ-значение, которые описывают
поведение свойства
объекта при выполнении операций над ним (например, чтения или записи).#объекты #Дескрипторы
Подробнее
👍9❤1
Array.isArray()
Статический метод
#массивы #ArrayisArray
Подробнее
Статический метод
Array.isArray()
проверяет, является ли переданный аргумент массивом. Возвращает true
, если является, и false
— если нет.#массивы #ArrayisArray
Подробнее
👍6❤3🔥1
Объект
Кроме примитивных типов в JavaScript существуют и сложные — например, объект.
Объекты в JavaScript используются повсюду, особенно для хранения данных. Для уверенной работы с объектами необходимо знать, как создавать объект, как его изменять и как читать значения свойств.
#объекты #Объект
Подробнее
Кроме примитивных типов в JavaScript существуют и сложные — например, объект.
Объект (object)
— это набор свойств. Каждое свойство состоит из названия и значения. Название может быть строкой
или символом
, а значение может быть любым.Объекты в JavaScript используются повсюду, особенно для хранения данных. Для уверенной работы с объектами необходимо знать, как создавать объект, как его изменять и как читать значения свойств.
#объекты #Объект
Подробнее
👍4❤1🔥1
.toString()
Метод
Если метод не переопределён, то он возвращает строку формата
#объекты #toString
Подробнее
Метод
toString()
преобразует объект в строковое представление. Метод автоматически вызывается JavaScript, когда объект нужно представить в текстовом виде.Если метод не переопределён, то он возвращает строку формата
[object тип]
, где тип — это строка, которая уточняет тип объекта. В подавляющем большинстве вы будете видеть вывод [object Object]
.#объекты #toString
Подробнее
🔥5👍3❤1
DOM-свойства типизированы
DOM-свойства не всегда являются строками. Например, свойство
Есть и другие примеры. Атрибут
Хотя большинство свойств, всё же, строки.
При этом некоторые из них, хоть и строки, могут отличаться от атрибутов. Например, DOM-свойство
#браузер #документ #свойства_узлов
DOM-свойства не всегда являются строками. Например, свойство
input.checked
(для чекбоксов) имеет логический тип.Есть и другие примеры. Атрибут
style
– строка, но свойство style
является объектом.Хотя большинство свойств, всё же, строки.
При этом некоторые из них, хоть и строки, могут отличаться от атрибутов. Например, DOM-свойство
href
всегда содержит полный URL, даже если атрибут содержит относительный URL или просто #hash
.#браузер #документ #свойства_узлов
👍4🔥2❤1
Почти всё в JavaScript — объект
В JavaScript объект является прародителем всех других сущностей. Все
#объекты #объект
Подробнее
В JavaScript объект является прародителем всех других сущностей. Все
типы данных
и структуры
, кроме примитивных
, являются потомками объекта. По этой причине абсолютно у всех наследников объекта имеется набор общих методов: toString()
, valueOf()
и др.#объекты #объект
Подробнее
👍4❤1🔥1
Set
Set (по-русски говорят множество) — коллекция для хранения уникальных значений любого типа. Одно и то же значение нельзя добавить в
Основные методы для работы с коллекцией:
•
•
•
•
•
Содержит свойство
#множества #Set
Подробнее
Set (по-русски говорят множество) — коллекция для хранения уникальных значений любого типа. Одно и то же значение нельзя добавить в
Set
больше одного раза.Set
— это неиндексированная коллекция, положить элемент в коллекцию можно, но достать нельзя. По элементам коллекции можно итерироваться
.Основные методы для работы с коллекцией:
•
add()
— добавить элемент.•
delete()
— удалить элемент.•
has()
— проверить, есть ли элемент в коллекции.•
clear()
— очистить коллекцию.•
forEach()
— выполнить функцию для каждого элемента в коллекции, аналогично одноимённому методу массива.Содержит свойство
size
для получения количества элементов в коллекции.#множества #Set
Подробнее
👍13🔥2❤1
.keys()
Возвращает
Обычно метод
Метод используется редко, правильнее использовать метод
#множества #keys
Подробнее
Возвращает
итератор
для обхода значений коллекции Set
в порядке добавления значений в коллекцию.Обычно метод
keys()
возвращает итератор
для обхода ключей коллекции, но так как коллекция Set
не имеет ключей, то для поддержки универсального интерфейса итератор возвращает значения.Метод используется редко, правильнее использовать метод
values()
, так как он даёт лучшую читаемость коду.#множества #keys
Подробнее
👍9❤2🔥2
.add()
Метод
#множества #add
Подробнее
Метод
add()
добавляет значение в коллекцию Set
. Если значение уже есть в коллекции, то вызов игнорируется.#множества #add
Подробнее
🔥5👍2❤1