🧐 НЕ ИСПОЛЬЗУЙ ОБЪЕКТЫ JavaScript, ИСПОЛЬЗУЙ MAP ЧАЩЕ! (Map vs Object Javascript)

  Рет қаралды 14,851

Danila Bagrov AI 🚀

Danila Bagrov AI 🚀

Күн бұрын

В данном ролике разберемся когда и для чего следует использовать коллекцию Map вместо объектов в языке JavaScript.
Рассмотрим преимущества и недостатки объектов, а также влияние динамического добавления и удаления полей объекта на производительность программы.
#programming #coding #программирование #frontend
#javascript #css #html #webdevelopment
🔥🔥🔥 Мой телеграм канал для коммьюнити и ваших предложений: t.me/danilabagrovit
Тайм коды:
00:00 Вступление
00:27 Чем отличается Map от Object в JS?
00:52 Первое преимущество Map и недостаткиObject
01:30 Используйте Map для хранения динамических пар ключ-значение
01:58 Использование Map vs Object в качестве хеш-таблицы
02:34 Подведение итогов - когда следует использовать Map
02:59 Спасибо за просмотр!

Пікірлер: 53
@onlytryhard80
@onlytryhard80 Жыл бұрын
Осталось не забыть когда надо будет работать с чем-то подобным
@viktorsavchenko2628
@viktorsavchenko2628 Жыл бұрын
5 лет во фронтенде и не знал об этом ! Спасибо ! Ждём новых роликов по этой тематике !
@DanilaBagrovAI
@DanilaBagrovAI Жыл бұрын
Спасибо большое! Рад стараться :)
@shuramishura6709
@shuramishura6709 Жыл бұрын
Очень крутая подача и самое главное без воды!
@gleb2971
@gleb2971 Жыл бұрын
Ну ема-ë! Боитесь коллизий - напишите свою хеш-таблицу. - Не оптимищировано? - потратьте неделю, напишите на плюсах. Нет сотен и сотен тысяч пар ключь-значение - юзайте то, что вам удобно.
@izzy7541
@izzy7541 Жыл бұрын
Интересно сравнить перфоманс в таких кейсах на фронтенде как общение с сервером. Нам часто приходится делать объекты с динамическими ключами и потом посылать на сервер в json-e, либо делать в локальном хранилище какой-то объект и туда добавлять/удалять/изменять ключи. Что будет быстрее в этом случае? Соблюдать иммутабельность, всегда создавать новый объект и потом делать json.stringify, либо использовать методы Map-a, но делать дополнительно Object.fromEntries перед конвертацией в json
@vitaliybatin8968
@vitaliybatin8968 Жыл бұрын
Ну хз, 15 лет юзали, а теперь резко не кошерно стало. По мне ecma заигралась с в видением лишних сущностьей.
@user-Duke2017
@user-Duke2017 10 сағат бұрын
А потом вы такой заюзали мап для стейта в реакте и решили в рендере мап обработать и ой)
@VeloVetal
@VeloVetal Жыл бұрын
ещё бы синтаксис добавления/проверки у мапы сделали бы как у объектов -- совсем была бы красота. и кстати. некоторые проводили бенчмарки и не выявили существенной прибавки скорости у мапы.
@DanilaBagrovAI
@DanilaBagrovAI Жыл бұрын
Можно ссылку на эти бенчмарки?)
@ITPedant
@ITPedant Жыл бұрын
Я даже больше скажу, мапа работает медленнее на чтение, парам пам пам
@user-hf8dw2wp6x
@user-hf8dw2wp6x Жыл бұрын
не понятно как ты попал ко мне в реки со 188 подписчиками, но я стал твоим 189. классная подача, продолжай дальше
@DanilaBagrovAI
@DanilaBagrovAI Жыл бұрын
Спасибо большое!)
@yamanbon1500
@yamanbon1500 Жыл бұрын
Блин, согласен! Тоже случайно попал в рекомендации.. Крайне приятная подача материала) желаю удачи в развитии канала! Буду твоим 455 подписчЕком👍
@Icanfly-
@Icanfly- Жыл бұрын
Сейчас неокрепшие умы насмотрятся и начнут везде Map пихать вместо обьектов где нужно и где не нужно, и если брать рядовые задачи, то чаще не нужно
@ferryterry1873
@ferryterry1873 Жыл бұрын
Я как-то заикнулся одному знакомому верстальщику , почему он на гриды, вместо флексов не переходит . Так он чуть меня не покусал . Старшим ребяткам , сложно переходить на что-то новое . Вот и начинают ворчать
@Icanfly-
@Icanfly- Жыл бұрын
@@ferryterry1873 некоторые старшие ребятки просто знают что такое 'золотой молоток'
@romanbayramuk6632
@romanbayramuk6632 Ай бұрын
если у тебя нагрузка такая, что становтится видна разница в производительность объекта и мапы, стоит может помсмотреть в сторону другого языка? например той же джавы
@dopushki
@dopushki Жыл бұрын
Лайк подписка без вариантов!
@victorromanyuk
@victorromanyuk Жыл бұрын
1. Map быстрее в добавлении/удалении 2. Позволяет работать с хеш-таблицами без багов
@DanilaBagrovAI
@DanilaBagrovAI Жыл бұрын
Именно так!
@user-ny3fg6vl6h
@user-ny3fg6vl6h Жыл бұрын
Ще класна штука, що поля в мапі зберігаються в тому порядку в якому ви їх туда додали, а в об'єкті вони сортуються, тому якщо вам важливо порядок , то тільки мап
@islamasankojoev9661
@islamasankojoev9661 Жыл бұрын
плз покажи как сделать в Vscode окошко с картинкой и питомцами
@sosikheh
@sosikheh Жыл бұрын
это просто расширение, название над ним же написано
@DanilaBagrovAI
@DanilaBagrovAI Жыл бұрын
VS code pets расширение)
@virnus1
@virnus1 Жыл бұрын
У тебя слишком много свободного места на рабочем столе?
@izgnann1k
@izgnann1k Жыл бұрын
Чувак ты просто выиграл эту жизнь
@DanilaBagrovAI
@DanilaBagrovAI Жыл бұрын
Почему...?)
@sosikheh
@sosikheh Жыл бұрын
тебя не отвлекает окно со зверушками?
@DanilaBagrovAI
@DanilaBagrovAI Жыл бұрын
Это больше для зрителя, чтоб не скучал :) Когда работаю - обычно отключаю
@soulwind7577
@soulwind7577 Жыл бұрын
Мне кажется проще будет написать плагин, который будет пробегаться по коду и при сборке приложения, там где надо подменять объекты на Map ))) , чем переучить JS разрабов перестать использовать объект.
@DanilaBagrovAI
@DanilaBagrovAI Жыл бұрын
Ахахахахах, сто процентов 🤣🤣🤣
@aleksprimetv
@aleksprimetv 25 күн бұрын
передай мапу в json)
@ruslanyusupov3940
@ruslanyusupov3940 Ай бұрын
Бенчмарк для добавления элементов Map x 1,675 ops/sec ±0.34% (99 runs sampled) Object x 1,912 ops/sec ±0.33% (97 runs sampled) Бенчмарк для доступа к элементам Map x 5,021 ops/sec ±8.43% (96 runs sampled) Object x 6,670 ops/sec ±4.45% (94 runs sampled) Бенчмарк для удаления элементов Map x 15,200 ops/sec ±6.47% (98 runs sampled) Object x 6,347 ops/sec ±3.56% (96 runs sampled)
@SalatikInMyHead
@SalatikInMyHead 3 күн бұрын
Ясно. Выходит, объекты лучше 😤
@puaktopblm
@puaktopblm Жыл бұрын
Показал, что объект наследует методы базового объекта и сказал, что это влияет на производительность.👎
@smertvichdreng
@smertvichdreng Жыл бұрын
а оно по-вашему не влияет? если в новом объекте куча других полей еще дополнительно.
@puaktopblm
@puaktopblm Жыл бұрын
@@smertvichdreng почитайте о наследовании в js. В объекте есть только одна дополнительная ссылка, которая ведет на прототип.
@smertvichdreng
@smertvichdreng Жыл бұрын
@@puaktopblm Вы откройте инструменты разработчика и посмотрите что из себя представляет объект и чего туда еще понапихано.
@kosiak10851
@kosiak10851 Жыл бұрын
@@smertvichdreng это аргумент к чему? Первый коммент говорит, что база не влияет, потому что она в прототипе, ты как это опровергаешь? "в объект чё только не понапихано"??? Как это отменяет тезис про прототип?
@smertvichdreng
@smertvichdreng Жыл бұрын
@@kosiak10851 говоришь очень путанно, сам-то понимаешь какой ты тезис хочешь доказать или опровергнуть? Что именно на производительность никак по-твоему не влияет? Или в чем твоя претензия?
@Maxim9575
@Maxim9575 10 ай бұрын
Автор просто не в курсе, но проксировать экземпляр Map невозможно. Не надо тут затирать про Map во все дыры.
@user-jx9rw3ip6w
@user-jx9rw3ip6w Ай бұрын
тоже хотел написать про это это. автор вообще не в курсе за жс так-то.
@user-jx9rw3ip6w
@user-jx9rw3ip6w Ай бұрын
ерунда это все. объекты ничуть не уступают по скорости. объекты основа жс. так что используйте их смело. set довольно полезен как перфоманс штука. а вот map не особо полезен.
@Maxim9575
@Maxim9575 Ай бұрын
Map стоит использовать лишь в случае когда ты хочешь чтобы ключами у тебя были не строки, а допустим объекты, в остальном на мой взгляд с головой хватает обычного объекта. Касательно Set, это набор уникальных значений и это нельзя ни к объектам ни к массивам прировнять, разные типы структур.
@user-jx9rw3ip6w
@user-jx9rw3ip6w Ай бұрын
@@Maxim9575 set как хешмап, где ключ является одновременно значением, и уже из этого вытекает уникальность значений. использовать как массив с константным временем доступа.
@Maxim9575
@Maxim9575 Ай бұрын
​​​@@user-jx9rw3ip6wset и реализует хеш таблицу, суть в том что в роли ключа выступает хеширующая функция, к которой доступа из js нет. Значение которое добавляется в set хешируется спец функцией, собственно хэш значения всегда вычисляется, поэтому доступ быстрый и константный по скорости
Замыкания в JavaScript с примерами. Фундаментальный JavaScript
22:39
ИРИНА КАЙРАТОВНА - АЙДАХАР (БЕКА) [MV]
02:51
ГОСТ ENTERTAINMENT
Рет қаралды 1,9 МЛН
Final muy inesperado 🥹
00:48
Juan De Dios Pantoja
Рет қаралды 16 МЛН
A pack of chips with a surprise 🤣😍❤️ #demariki
00:14
Demariki
Рет қаралды 41 МЛН
Use Maps more and Objects less
5:45
Steve (Builder.io)
Рет қаралды 86 М.
"Проклятие 35 лет" в Программировании
8:04
Миша Ларченко
Рет қаралды 16 М.
🚀 Promise и Async Await за 8 минут ПРОСТО в Javascript!
8:01
Хэш-таблицы за 10 минут
13:01
Николай Тузов — Golang
Рет қаралды 121 М.
Weak References, Reachability, WeakSets, and WeakMaps
15:54
Steve Griffith - Prof3ssorSt3v3
Рет қаралды 3,3 М.
Ждёшь обновление IOS 18? #ios #ios18 #айоэс #apple #iphone #айфон
0:57
How To Unlock Your iphone With Your Voice
0:34
요루퐁 yorupong
Рет қаралды 24 МЛН
Will the battery emit smoke if it rotates rapidly?
0:11
Meaningful Cartoons 183
Рет қаралды 22 МЛН
Apple watch hidden camera
0:34
_vector_
Рет қаралды 64 МЛН