Разберём каррирование в JavaScript на РУСИ-МУСИ-ПУСИ!

  Рет қаралды 13,760

Елена Литвинова — Искусство Веб-разработки 🛸

Елена Литвинова — Искусство Веб-разработки 🛸

Күн бұрын

Пікірлер: 108
@avocodeuser1343
@avocodeuser1343 2 жыл бұрын
Ленок, при создании функции мы пишем не аргументы, а параметры, аргументы это при вызове функций, я из-за этого путался постоянно, потому что каждый объясняет не пойми как, одни вызываем функцию с параметрами, другие пишем функцию с аргументами и т.д.
@sergeystarkov8010
@sergeystarkov8010 2 жыл бұрын
Спасибо! Офигенный формат - очень заходят ваши объяснения. Посмотрю все уроки :)
@svetlanazheleykina4113
@svetlanazheleykina4113 Жыл бұрын
Классное вступление! Видео понравилось очень. Особенно комментарий про "исчадие":))) Оценила, сама проверила, так как повторяла за Вами код. "Исчадие" словила:) Класс! Спасибо!!!😍
@namax6634
@namax6634 2 жыл бұрын
Если использовать 'return curried.bind(this, args)' - этот вызов навсегда прикрепляет контекст к carried. В результате фиксируется контекст. Не получится сменить контекст функции, которая была создана передачей частичного кол-ва аргументов.
@ХаджимуратОмаров-т1с
@ХаджимуратОмаров-т1с Жыл бұрын
Благодарю за пояснение! Хотелось бы конечно побольше разъяснений где и как и зачем его еще испоьзуют?
@janhackiewicz
@janhackiewicz 10 ай бұрын
а используют затем, чтобы раз***ать джунов на собесе :)
@Alex-bo9wt
@Alex-bo9wt 2 ай бұрын
Крутая подача, класс😃😃🥰
@squitani
@squitani 3 жыл бұрын
Ты похожа на милого подростка-пацана из американских фильмов. Спасибо за крутые видео
@GkuZzz
@GkuZzz Жыл бұрын
Лайкосик как только попросила, а подпишусь как досмотрб
@webelart
@webelart Жыл бұрын
😘 Спасибо!
@shittywizzard5727
@shittywizzard5727 3 жыл бұрын
Лайк префаером, проорал с заставки))
@МишаЩетинин-з5ы
@МишаЩетинин-з5ы 2 жыл бұрын
Спасибо огромное за Ваши труды, очень помогло видео! Если что в прошлом предложении была шутоточка...раз 10 пересматривал)))
@АлександрПастьбин
@АлександрПастьбин 2 жыл бұрын
огромное спасибо за ваш труд!
@webelart
@webelart 2 жыл бұрын
❤️
@eleonora5101
@eleonora5101 Жыл бұрын
Спасибо!
@kraysmax3715
@kraysmax3715 3 жыл бұрын
Ладно ладно, вопросов нет крутой видос, лайк подписка. Если к этому можно было б ещё что то добавить, то чуть больше расскрыть тему с юзкесами каррирования, но в остальном идеально!
@webelart
@webelart 3 жыл бұрын
Спасибо! :)))
@ur2232
@ur2232 Жыл бұрын
Приятные эмоции))
@cheesecheesson9842
@cheesecheesson9842 2 жыл бұрын
Будем теперь смотреть всё время
@Ramosok
@Ramosok 2 жыл бұрын
Спасибо за видео!
@Albert_Hall
@Albert_Hall Жыл бұрын
🎓Естественная подача позволяет мозгу легче думать и вникать 🎩
@B_G_V
@B_G_V 2 жыл бұрын
Умничка, пусечка, чмоки-чмоки в щёчку, за такое замечательное объяснение :))
@irinplehanova128
@irinplehanova128 Жыл бұрын
ну короче, по факту поняла, в принципе должно быть все нормально
@frobeniusfg
@frobeniusfg Жыл бұрын
Пожалуй, самое жесткое решение, правда без this: const curry = (fn) => function curried(...a) { return a.length >= fn.length ? fn(...a) : (...b) => curried(...a, ...b) } Заспредженные аргументы можно чейнить через запятую в списке аргументов функции
@YuriiKratser
@YuriiKratser 3 жыл бұрын
Вы удивили фото на заставке видео. Вы девушка с перчинкой, с огнём 🔥
@webelart
@webelart 3 жыл бұрын
😍😁 Спасибо!
@theoty-js
@theoty-js 2 жыл бұрын
Елена лучшая^^
@username-forbidden
@username-forbidden Жыл бұрын
Начало 2:02
@sergeistalarkin7969
@sergeistalarkin7969 2 жыл бұрын
спасибо😊
@YarkiiYa
@YarkiiYa 2 жыл бұрын
Начало просто топ 😂😂😂
@dirtyhandz
@dirtyhandz 3 жыл бұрын
Энтузиазма с каждым видосиком все больше 🤣
@webelart
@webelart 3 жыл бұрын
100% 😤🤣
@nonamenobody2795
@nonamenobody2795 4 ай бұрын
почему во встроенном терминале не запускаете?
@webelart
@webelart 4 ай бұрын
@@nonamenobody2795 неудобно во встроенном, занимает кучу пространства от редактора.
@outer-space-coding
@outer-space-coding 2 жыл бұрын
Лучшее объяснение на youtube!
@VenatorLine
@VenatorLine 2 жыл бұрын
Т. е. получается что bind здесь не вызывает функцию, а просто её привязывает к самой себе или как? this является контекстом curried? Объясните пожалуйста, а то я новичок и не до конца понимаю цель данной функции в этом случае.
@LetroScript
@LetroScript 8 ай бұрын
Да, метод bind не вызывается, а вот методы apply и call - вызываются. С помощью метода bind, можем типа копировать функцию или метод из какого-то класса, но вызывать можем только по своим нуждам.
@imgod113
@imgod113 2 жыл бұрын
За восемь лет работы с джс ни разу не использовал каррирование, кому оно надо кроме собеседующего?
@JohnLee-bo9ft
@JohnLee-bo9ft Жыл бұрын
Оно надо, если ты пишешь в функциональном стиле и тебе нужно замкнуть данные. В остальном конечно, оно без надобности
@imgod113
@imgod113 Жыл бұрын
@@JohnLee-bo9ft хороший ответ для собеседования)
@egoist2956
@egoist2956 3 жыл бұрын
Вот тебе лайкосик..
@webelart
@webelart 3 жыл бұрын
Спасибо! 😁
@dcdc3400
@dcdc3400 Жыл бұрын
Привет! Можно еще короче function curry(fn) { return (...args) => args.length >= fn.length ? fn(...args) : curry(fn.bind(null, ...args)); }
@doge8633
@doge8633 11 ай бұрын
вау ты добавил тернарку? гений. А мы этого не знали, и что это даст кроме сокращения кода?
@nepcz
@nepcz 3 жыл бұрын
Исчадие тут пошло 🤣 🤣 🤣
@webelart
@webelart 3 жыл бұрын
Просто Ору!! 🤣🤣
@alexlei4232
@alexlei4232 Жыл бұрын
Понял, что нихера не понял)
@v.demchenko
@v.demchenko Жыл бұрын
Немного другой пример карирования. add() return 0 add(1)() return 1 add(2)(3) return 5 function add(num) { let result = 0 if (num === undefined) { return result } result += num return function carry(data) { if (data === undefined) { return result } else { result += data return carry } } }
@doge8633
@doge8633 11 ай бұрын
ну да потому что у него, каждый раз при вызове функции будет возвращаться новая функция которая ожидает аргумент, поэтому нужно добавить условие при котором она не будет возвращать функцию снова@@user-mr8wp5zx3m
@МихаилПопков-ь1л
@МихаилПопков-ь1л 3 жыл бұрын
Кто-то залетает с ноги, а я залетел с лайка)
@aktotuttttt
@aktotuttttt 3 жыл бұрын
О круто! а в каком реальном случае может понадобиться такое коррирование?
@webelart
@webelart 3 жыл бұрын
Спасибо! Каррирование - это очень частый приём в функциональном программирование. Например, у вас есть набор базовых функций и из них создаётся набор более сложных функций. Но я признаюсь мало работала с настоящей функциональщиной, поэтому супер конкретный пример сложно придумать. :) На собесах очень часто такую тему тоже спрашивают.
@vargvarg7922
@vargvarg7922 2 жыл бұрын
@@webelart вово, только для собесов, за 5 лет работы ни разу не столкнулся, но перед собесом зашел послушать, чтобы в теории чето ответить
@serdotsenko
@serdotsenko 2 жыл бұрын
тема наверное интересная, у мня только 1 вопрос, зачем? какое практическое применение этой концепции? типа есть вот такая задача и её можно решить только карированием и больше никак, есть такие задачи?
@webelart
@webelart 2 жыл бұрын
Вообще в работе редко использую. Я бы даже сказала почти никогда. Но это один из приёмов программирования, который часто может применяться в функциональном программировании. + на собесах спрашивают часто. И в итоге для общего развития :)
@serdotsenko
@serdotsenko 2 жыл бұрын
@@webelart вот именно, что на собесах спрашивают, то чем почти никто не пользуется )))
@UC1C0GDMTjasAdhELHZ6lZNg
@UC1C0GDMTjasAdhELHZ6lZNg 2 жыл бұрын
@@serdotsenko отсюда и возник термин "js для собеседований" а в целом каррирование в сложных проектах появляется, например в логировании часто используют, чтобы дробить логи на составляющие вызывая функцию с конкретным набором параметров в разных частях проекта
@elizavetakonstantinova8661
@elizavetakonstantinova8661 2 жыл бұрын
Комментарий как второй лайк
@druf5962
@druf5962 2 жыл бұрын
Как это понять так, что бы все это поняли?!?!🥴🥴🥴0:15 А НУ СЮДА РАЕБЕМ ЭТО КАРРИРОВАНИЕ🤛🤛💥🥺🥺🥺
@johnbaretty9725
@johnbaretty9725 2 жыл бұрын
женщина, вам лайк поставил
@webelart
@webelart 2 жыл бұрын
😘 Пасиба!
@michaelkovach3894
@michaelkovach3894 2 жыл бұрын
Valery kipelov?
@OlmerMN
@OlmerMN 2 жыл бұрын
Ни хрена не понятно, но очень интересно.
@webelart
@webelart 2 жыл бұрын
😂😂😂
@Alex-bo9wt
@Alex-bo9wt 2 ай бұрын
Жаль что вы уже такие темы не разбираете((
@sviatbondar1721
@sviatbondar1721 Жыл бұрын
спасибосики за видосик шикардосик
@Konstantin.Zharinov
@Konstantin.Zharinov 3 жыл бұрын
Зараза!
@webelart
@webelart 3 жыл бұрын
Тут перебор. Звучит очень неприятно!
@Konstantin.Zharinov
@Konstantin.Zharinov 3 жыл бұрын
@@webelart не. Это такой комплимент. ❤️
@webelart
@webelart 3 жыл бұрын
@@Konstantin.Zharinov Само слово мне не нравится. Но за комплимент как смысл, спасибо! 😘
@flance911
@flance911 2 жыл бұрын
На обложке зачеркнуто З и получилось "РАЕБЁМ"?
@webelart
@webelart 2 жыл бұрын
😂 Ага, игралась с названиями, чтобы ничё не заподозрили.
@flance911
@flance911 2 жыл бұрын
@@webelart :)
@Ingvarsson-Ukr
@Ingvarsson-Ukr 2 жыл бұрын
обьяснили четко, спасибо, но вот только на*рена оно все нужно в реальной работе - вообще не понятно
@RinatWOT
@RinatWOT 2 жыл бұрын
Есть такое
@avocodeuser1343
@avocodeuser1343 2 жыл бұрын
Солнышко, у меня есть вопросик, написал многим верстальщикам никто не знает ответ, Я использую паг и в одном из видосов, я видел, ты тоже его юзаешь. Так вот, есть ли аналог eCSStructor который мы используем в html для копирования классов? Паг классный шаблонизатор, но смысл от него если всё равно приходится залетать в файл html, постоянно. Пожалуйста помогииииииииии мне. Кста только у тя увидел видео про каррирование
@gkhabada
@gkhabada 2 жыл бұрын
а в превью картинки точно все правильно написано?
@webelart
@webelart 2 жыл бұрын
😁😁😁😄 нашли ошибку???
@gkhabada
@gkhabada 2 жыл бұрын
@@webelart ошибка ли это, вот в чëм вопрос 😆
@АлексБат-б7ж
@АлексБат-б7ж 3 жыл бұрын
Блин, почему я вас смотрю? Я же вообще не джавист ))
@kraysmax3715
@kraysmax3715 3 жыл бұрын
так это и не джава)
@MrDmi3i
@MrDmi3i Жыл бұрын
у меня слабость к умным девушкам 😍
@dsmt1-re
@dsmt1-re Жыл бұрын
Спасибо за видео, но своими ошибками ты часто запутываешь. Может лучше сразу писать правильно?)
@webelart
@webelart Жыл бұрын
Рекомендую начать тщательно слушать, либо искать другие объяснения и видео, которые вас не запутывают.
@ivancoin2570
@ivancoin2570 2 жыл бұрын
Какой-то мазохизм это каррирование. На сколько часто его используют в коде? Это же читать не возможно. Ни разу не видел, если увижу - буду проклинать человека написавшего такой код.
@leepoch3764
@leepoch3764 2 жыл бұрын
Таки а зачем это каррирование нужно, я так и не понял, честно говоря)
@webelart
@webelart 2 жыл бұрын
Здесь я не рассказывала про то, зачем это нужно. Больше подразумевая, если человек ищет, то ему нужно :)) Но так каррирование довольно частый приём в функциональном программировании. Ну и на собесах его часто спрашивают.
@turalismayilov4291
@turalismayilov4291 3 жыл бұрын
спасибо за полезное видео
@sergeykagal8656
@sergeykagal8656 2 жыл бұрын
wtf РУСИ-МУСИ-ПУСИ! ?
@sergeykagal8656
@sergeykagal8656 2 жыл бұрын
🥳
@ОлександрПархоменко-г4й
@ОлександрПархоменко-г4й Жыл бұрын
Наверное это видео надо переснять: слишком много "короче" и мало объяснения зачем всё это нужно
@webelart
@webelart Жыл бұрын
Наверно вам нужно поискать что-то другое, где всё подлиннее. 😘
@x4r7
@x4r7 2 жыл бұрын
lol
@fedc_
@fedc_ 3 жыл бұрын
Это топ
@digitalturkistan1857
@digitalturkistan1857 2 жыл бұрын
Блин прям ругала требовала подписатся. Боюсь не подписатся
@webelart
@webelart 2 жыл бұрын
😈😈😈
@МихаилИванов-к7й
@МихаилИванов-к7й Жыл бұрын
Кринжово, запутанно, непонятно
@webelart
@webelart Жыл бұрын
Так грусненько стало…
@МихаилИванов-к7й
@МихаилИванов-к7й Жыл бұрын
@@webelart попробуйте мантаж, лишнюю путаницу удалите, оно никому не нужно
@webelart
@webelart Жыл бұрын
@@МихаилИванов-к7й Монтировать я буду так как мне это нравится. Не нравится, кнопка unsubscribe. А это видео одно из лучших по монтажу.
@webelart
@webelart Жыл бұрын
@@МихаилИванов-к7й и да про грусненько это было сарказм 🤌
@МихаилИванов-к7й
@МихаилИванов-к7й Жыл бұрын
@@webelart было трудно, но я догадался👍🤣
@pavel.88
@pavel.88 Жыл бұрын
Круговорот функций в javascript, чет в голос😅
@ioankatsapovich
@ioankatsapovich Жыл бұрын
Не русской а расейской
@Leman_357
@Leman_357 Жыл бұрын
АРЯЯЯЯЯЯЯЯЯЯ
@ioankatsapovich
@ioankatsapovich Жыл бұрын
@@Leman_357 расиянка?
@__kawaii
@__kawaii 10 ай бұрын
Поросенок, чего не под Авдеевкой в выгребной яме? В очередной раз испугался Русского сапога, как и в Бахмуте?) Твое проклятое племя всегда будет в рабстве под Русским сапогом, запомни, нация трусливого скота)
@dramaturgpodolsk
@dramaturgpodolsk Жыл бұрын
Спасибо!
20 методов массивов в JavaScript, которые вы должны знать.
50:55
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 23 М.
Алгоритм бинарного поиска на JavaScript
18:00
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 9 М.
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 45 МЛН
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 82 МЛН
Учимся использовать useMemo, useCallback и React.memo | подводные камни | JavaScript, React
37:25
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 26 М.
Пишем полифилы на JavaScript (map, reduce, flat) | Уроки JS
1:00:13
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 73 М.
Пишем и подробно разбираем алгоритм Quick Sort на JavaScript | Быстрая сортировка
32:24
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 10 М.
Как работает Event Loop в JavaScript + примеры
33:24
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 33 М.
Просто о ООП (Парадигмы ООП)
21:14
webDev
Рет қаралды 43 М.
Что такое ЗАМЫКАНИЯ в JavaScript? Как они работают? Разберём на примерах
35:49
Эльбрус Буткемп: школа программирования
Рет қаралды 4 М.