Учимся писать глубокий merge и сравнение объектов и массивов | Уроки JS

preview_player
Показать описание
Будем целиком воплощать функции deepMerge & deepCompare без библиотек на чистом JS через рекурсию + разберём различны тонкости JS.
🏰 Английский YouTube: @webelart_en

Рекомендуемые видео в уроке:

00:00 Введение.
00:57 Скачиваем проект с подготовленными тестами.
02:05 Постановка задачи deepCompare + теория ссылочных типов данных.
06:29 Особенность null в JavaScript.
08:20 Приступаем к написанию deepCompare.
10:54 Пишем дополнительные helpers.
12:45 Как можно проверить тип данных в JS.
18:02 Таблица приоритетов JS.
24:08 Тестируем функцию deepCompare.
25:09 Постановка задачи deepMerge.
27:46 Теория про мутирование данных.
28:52 Про глубокие объекты и важность их копии.
31:28 Приступаем к реализации deepMerge.
32:41 Пишем deepCopyArrays & deepCopyObjects.
38:32 Про JSON.stringify().
39:53 Пишем deepMergeArrays.
40:40 Пишем deepMergeObjects.
45:13 Тестируем deeMerge.
46:13 Рефакторим deepCopyArrays & deepCopyObjects в deepCopy.

На канале я рассматриваю различные темы веб-разработки, на текущий момент: веб-основы, веб-анимации, веб-дизайн.
Рекомендации по теме
Комментарии
Автор

Эта девушка несёт свет людям… продолжай в том же духе ))

gagogoga
Автор

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

СергейМустафаев-ик
Автор

видно, что человек увлеченный, всегда приятно таких смотреть

alenache
Автор

Так всё сложно и непонятно.. Умная девушка.. Побольше бы таких красавиц и жизнь в стране наладилась

ОляГостева-си
Автор

Классное видео. Леночка - ты супер умничка..)

egoist
Автор

Господи почему я не был раньше на неё подписан! Спасибо тебе большое +1 в подписку!

ooops
Автор

Огромное Вам спасибо, это видео помогло мне решить проблему, с которой я 2 дня боролся)

ГусяНоздреватая
Автор

Елена, у Вас очень хорошие видео.
Интересно Вас слушать и монтаж хороший.

RedShucov
Автор

Спасибо за полезный контент!
(глубокий merge, сравнение объектов и массивов | Уроки JS)

ОлегПетров-пу
Автор

На сколько я помню поверхностная копия - это ссылка на объект. Именно ее делает любое копирование обьектов в JS. Вероятно когда Вы меняете result, то меняется и Arr)
А для глубокой копии можно использовать метод structuredClone()
Поддержка у него пока что средняя

eugenefedoryachenko
Автор

Добрый вечер. А видео про backtracking будет?

ОлександрПархоменко-гй
Автор

Не легко Пойду к жене спрошу что она знает про глубокий мердж

YuriiKratser
Автор

Это все, конечно, круто, но разве нельзя использовать просто JSON.stringify() для deepCompare?

mico
Автор

Дипкомпэйр не учитывает что функции сравниваются по ссылке?
var a = function(x, y) {return x + y}
var b = function(x, y) {return x + y}
a===b //false
b.toString()===a.toString() //true
a.valueOf() === b.valueOf() //false

ПетрФомин-щж
Автор

Для глубокого копирования объекта можно использовать функция

andreyzhukov
Автор

Леночка запишите курс JS с нуля до профи

николайкраснов-ро
Автор

И для рекурсий желательно сделать предохранитель что мало ли случайно в каком то кейсе оно не вечно херячило

РоманЧорний-ън
Автор

НЕ совсем понял как открыть папку из терминала в vscode, про code . - команду знаю, а вот как ту папку открыть в которой нахожусь загадка...

mushnikov
Автор

Приоритет логических операторов это конечно хорошо, но где гарантия шо твой колена такой смышлёный как ты и также читаемость кода как то не очень то, обернуть в скобки много времени не займет ! А также конструкцию с прототипами в хелперах неплохо бы вынести в отдельную функцию

РоманЧорний-ън