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

Sdílet
Vložit
  • čas přidán 5. 09. 2024
  • На пальцах всё изучим, до самой глубины. Поймём наконец-то эту страшно технику!
    🍀 Поддержать канал: www.donational...
    ☕️ Купить кофе: buy.stripe.com...
    🎨 Купить набор кистей Procreate: webelart.com/i....
    ✍️ Мой telegram channel: t.me/webelart
    🏰 Английский CZcams: @webelart_en
    💁🏼‍♀️ Инстаграм: / webelart
    🦄 LinkedIn: / webelart
    Ссылка на голосовалку по видео: forms.gle/ahhf...
    Рекомендую посмотреть ВСЕ ВИДЕО на моём канале!
    Я рассматриваю различные темы веб-разработки, на текущий момент: веб-основы, веб-анимации, веб-дизайн и ОПЫТ В ДО*УЯ лет.

Komentáře • 107

  • @avocodeuser1343
    @avocodeuser1343 Před 2 lety +13

    Ленок, при создании функции мы пишем не аргументы, а параметры, аргументы это при вызове функций, я из-за этого путался постоянно, потому что каждый объясняет не пойми как, одни вызываем функцию с параметрами, другие пишем функцию с аргументами и т.д.

  • @sergeystarkov8010
    @sergeystarkov8010 Před 2 lety +6

    Спасибо! Офигенный формат - очень заходят ваши объяснения. Посмотрю все уроки :)

  • @svetlanazheleykina4113
    @svetlanazheleykina4113 Před rokem +2

    Классное вступление! Видео понравилось очень. Особенно комментарий про "исчадие":))) Оценила, сама проверила, так как повторяла за Вами код. "Исчадие" словила:) Класс! Спасибо!!!😍

  • @user-ij9qf9yx8z
    @user-ij9qf9yx8z Před rokem +3

    Благодарю за пояснение! Хотелось бы конечно побольше разъяснений где и как и зачем его еще испоьзуют?

    • @user-yp6os3oe3i
      @user-yp6os3oe3i Před 7 měsíci

      а используют затем, чтобы раз***ать джунов на собесе :)

  • @squitani
    @squitani Před 3 lety +2

    Ты похожа на милого подростка-пацана из американских фильмов.
    Спасибо за крутые видео

  • @namax6634
    @namax6634 Před rokem +4

    Если использовать 'return curried.bind(this, args)' - этот вызов навсегда прикрепляет контекст к carried.
    В результате фиксируется контекст. Не получится сменить контекст функции, которая была создана передачей частичного кол-ва аргументов.

  • @user-qu5ff6dw8h
    @user-qu5ff6dw8h Před 2 lety +2

    Спасибо огромное за Ваши труды, очень помогло видео! Если что в прошлом предложении была шутоточка...раз 10 пересматривал)))

  • @shittywizzard5727
    @shittywizzard5727 Před 3 lety +4

    Лайк префаером, проорал с заставки))

  • @imgod113
    @imgod113 Před 2 lety +6

    За восемь лет работы с джс ни разу не использовал каррирование, кому оно надо кроме собеседующего?

    • @JohnLee-bo9ft
      @JohnLee-bo9ft Před rokem +2

      Оно надо, если ты пишешь в функциональном стиле и тебе нужно замкнуть данные.
      В остальном конечно, оно без надобности

    • @imgod113
      @imgod113 Před rokem +1

      @@JohnLee-bo9ft хороший ответ для собеседования)

  • @Albert_Hall
    @Albert_Hall Před rokem

    🎓Естественная подача позволяет мозгу легче думать и вникать 🎩

  • @user-hj4cw8st5i
    @user-hj4cw8st5i Před 2 lety +1

    огромное спасибо за ваш труд!

  • @kraysmax3715
    @kraysmax3715 Před 2 lety +2

    Ладно ладно, вопросов нет крутой видос, лайк подписка. Если к этому можно было б ещё что то добавить, то чуть больше расскрыть тему с юзкесами каррирования, но в остальном идеально!

  • @GkuZzz
    @GkuZzz Před rokem

    Лайкосик как только попросила, а подпишусь как досмотрб

  • @YuriiKratser
    @YuriiKratser Před 3 lety +3

    Вы удивили фото на заставке видео. Вы девушка с перчинкой, с огнём 🔥

    • @webelart
      @webelart  Před 3 lety +1

      😍😁 Спасибо!

  • @frobeniusfg
    @frobeniusfg Před rokem +1

    Пожалуй, самое жесткое решение, правда без this:
    const curry = (fn) =>
    function curried(...a)
    {
    return a.length >= fn.length ? fn(...a) : (...b) => curried(...a, ...b)
    }
    Заспредженные аргументы можно чейнить через запятую в списке аргументов функции

  • @Ramosok
    @Ramosok Před 2 lety

    Спасибо за видео!

  • @outer-space-coding
    @outer-space-coding Před 2 lety +2

    Лучшее объяснение на youtube!

  • @cheesecheesson9842
    @cheesecheesson9842 Před 2 lety

    Будем теперь смотреть всё время

  • @eleonora5101
    @eleonora5101 Před rokem

    Спасибо!

  • @username-forbidden
    @username-forbidden Před rokem

    Начало 2:02

  • @ur2232
    @ur2232 Před rokem

    Приятные эмоции))

  • @B_G_V
    @B_G_V Před 2 lety +1

    Умничка, пусечка, чмоки-чмоки в щёчку, за такое замечательное объяснение :))

  • @sergeistalarkin7969
    @sergeistalarkin7969 Před 2 lety

    спасибо😊

  • @dcdc3400
    @dcdc3400 Před rokem +1

    Привет! Можно еще короче
    function curry(fn) {
    return (...args) =>
    args.length >= fn.length ? fn(...args) : curry(fn.bind(null, ...args));
    }

    • @doge8633
      @doge8633 Před 8 měsíci

      вау ты добавил тернарку? гений. А мы этого не знали, и что это даст кроме сокращения кода?

  • @YarkiiYa
    @YarkiiYa Před 2 lety

    Начало просто топ 😂😂😂

  • @v.demchenko
    @v.demchenko Před rokem

    Немного другой пример карирования.
    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 Před 8 měsíci

      ну да потому что у него, каждый раз при вызове функции будет возвращаться новая функция которая ожидает аргумент, поэтому нужно добавить условие при котором она не будет возвращать функцию снова@@user-mr8wp5zx3m

  • @dirtyhandz
    @dirtyhandz Před 3 lety +2

    Энтузиазма с каждым видосиком все больше 🤣

  • @nepcz
    @nepcz Před 3 lety +1

    Исчадие тут пошло 🤣 🤣 🤣

    • @webelart
      @webelart  Před 3 lety

      Просто Ору!! 🤣🤣

  • @galievramil1169
    @galievramil1169 Před 2 lety

    Интересно, короче сигнатура функции и свойство length, рекурсивный вызов с проверкой.
    Спс.

  • @theoty-js
    @theoty-js Před 2 lety

    Елена лучшая^^

  • @sviatbondar1721
    @sviatbondar1721 Před rokem

    спасибосики за видосик шикардосик

  • @irinplehanova128
    @irinplehanova128 Před rokem

    ну короче, по факту поняла, в принципе должно быть все нормально

  • @nonamenobody2795
    @nonamenobody2795 Před měsícem

    почему во встроенном терминале не запускаете?

    • @webelart
      @webelart  Před měsícem

      @@nonamenobody2795 неудобно во встроенном, занимает кучу пространства от редактора.

  • @egoist2956
    @egoist2956 Před 3 lety

    Вот тебе лайкосик..

  • @Ingvarsson-Ukr
    @Ingvarsson-Ukr Před 2 lety +1

    обьяснили четко, спасибо, но вот только на*рена оно все нужно в реальной работе - вообще не понятно

  • @ivancoin2570
    @ivancoin2570 Před rokem +1

    Какой-то мазохизм это каррирование. На сколько часто его используют в коде? Это же читать не возможно. Ни разу не видел, если увижу - буду проклинать человека написавшего такой код.

  • @michaelkovach3894
    @michaelkovach3894 Před 2 lety

    Valery kipelov?

  • @VenatorLine
    @VenatorLine Před 2 lety +1

    Т. е. получается что bind здесь не вызывает функцию, а просто её привязывает к самой себе или как? this является контекстом curried? Объясните пожалуйста, а то я новичок и не до конца понимаю цель данной функции в этом случае.

    • @LetroScript
      @LetroScript Před 5 měsíci

      Да, метод bind не вызывается, а вот методы apply и call - вызываются. С помощью метода bind, можем типа копировать функцию или метод из какого-то класса, но вызывать можем только по своим нуждам.

  • @aktotuttttt
    @aktotuttttt Před 2 lety +2

    О круто! а в каком реальном случае может понадобиться такое коррирование?

    • @webelart
      @webelart  Před 2 lety +1

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

    • @vargvarg7922
      @vargvarg7922 Před 2 lety +2

      @@webelart вово, только для собесов, за 5 лет работы ни разу не столкнулся, но перед собесом зашел послушать, чтобы в теории чето ответить

  • @elizavetakonstantinova8661

    Комментарий как второй лайк

  • @user-kj7fo3bd9y
    @user-kj7fo3bd9y Před 3 lety +1

    Кто-то залетает с ноги, а я залетел с лайка)

  • @alexlei4232
    @alexlei4232 Před 11 měsíci +1

    Понял, что нихера не понял)

  • @turalismayilov4291
    @turalismayilov4291 Před 2 lety

    спасибо за полезное видео

  • @OlmerMN
    @OlmerMN Před 2 lety +1

    Ни хрена не понятно, но очень интересно.

  • @serdotsenko
    @serdotsenko Před 2 lety

    тема наверное интересная, у мня только 1 вопрос, зачем? какое практическое применение этой концепции? типа есть вот такая задача и её можно решить только карированием и больше никак, есть такие задачи?

    • @webelart
      @webelart  Před 2 lety +1

      Вообще в работе редко использую. Я бы даже сказала почти никогда. Но это один из приёмов программирования, который часто может применяться в функциональном программировании. + на собесах спрашивают часто. И в итоге для общего развития :)

    • @serdotsenko
      @serdotsenko Před 2 lety +1

      @@webelart вот именно, что на собесах спрашивают, то чем почти никто не пользуется )))

    • @UC1C0GDMTjasAdhELHZ6lZNg
      @UC1C0GDMTjasAdhELHZ6lZNg Před 2 lety +1

      @@serdotsenko отсюда и возник термин "js для собеседований"
      а в целом каррирование в сложных проектах появляется, например в логировании часто используют, чтобы дробить логи на составляющие вызывая функцию с конкретным набором параметров в разных частях проекта

  • @johnbaretty9725
    @johnbaretty9725 Před 2 lety

    женщина, вам лайк поставил

  • @avocodeuser1343
    @avocodeuser1343 Před 2 lety

    Солнышко, у меня есть вопросик, написал многим верстальщикам никто не знает ответ, Я использую паг и в одном из видосов, я видел, ты тоже его юзаешь. Так вот, есть ли аналог eCSStructor который мы используем в html для копирования классов? Паг классный шаблонизатор, но смысл от него если всё равно приходится залетать в файл html, постоянно. Пожалуйста помогииииииииии мне. Кста только у тя увидел видео про каррирование

  • @druf5962
    @druf5962 Před rokem

    Как это понять так, что бы все это поняли?!?!🥴🥴🥴0:15 А НУ СЮДА РАЕБЕМ ЭТО КАРРИРОВАНИЕ🤛🤛💥🥺🥺🥺

  • @MrDmi3i
    @MrDmi3i Před rokem

    у меня слабость к умным девушкам 😍

  • @Ivan-lm9sp
    @Ivan-lm9sp Před rokem

    Спасибо за видео, но своими ошибками ты часто запутываешь. Может лучше сразу писать правильно?)

    • @webelart
      @webelart  Před rokem +1

      Рекомендую начать тщательно слушать, либо искать другие объяснения и видео, которые вас не запутывают.

  • @user-yd9bn3um8t
    @user-yd9bn3um8t Před 3 lety

    Блин, почему я вас смотрю? Я же вообще не джавист ))

  • @user-te4zh2dz9r
    @user-te4zh2dz9r Před rokem

    Наверное это видео надо переснять: слишком много "короче" и мало объяснения зачем всё это нужно

    • @webelart
      @webelart  Před rokem

      Наверно вам нужно поискать что-то другое, где всё подлиннее. 😘

  • @Konstantin.Zharinov
    @Konstantin.Zharinov Před 3 lety

    Зараза!

    • @webelart
      @webelart  Před 3 lety +1

      Тут перебор. Звучит очень неприятно!

    • @Konstantin.Zharinov
      @Konstantin.Zharinov Před 3 lety

      @@webelart не. Это такой комплимент. ❤️

    • @webelart
      @webelart  Před 3 lety

      @@Konstantin.Zharinov Само слово мне не нравится. Но за комплимент как смысл, спасибо! 😘

  • @gkhabada
    @gkhabada Před 2 lety

    а в превью картинки точно все правильно написано?

    • @webelart
      @webelart  Před 2 lety

      😁😁😁😄 нашли ошибку???

    • @gkhabada
      @gkhabada Před 2 lety

      @@webelart ошибка ли это, вот в чëм вопрос 😆

  • @flance911
    @flance911 Před 2 lety

    На обложке зачеркнуто З и получилось "РАЕБЁМ"?

    • @webelart
      @webelart  Před 2 lety

      😂 Ага, игралась с названиями, чтобы ничё не заподозрили.

    • @flance911
      @flance911 Před 2 lety

      @@webelart :)

  • @leepoch3764
    @leepoch3764 Před 2 lety

    Таки а зачем это каррирование нужно, я так и не понял, честно говоря)

    • @webelart
      @webelart  Před 2 lety

      Здесь я не рассказывала про то, зачем это нужно. Больше подразумевая, если человек ищет, то ему нужно :))
      Но так каррирование довольно частый приём в функциональном программировании. Ну и на собесах его часто спрашивают.

  • @fedc_
    @fedc_ Před 3 lety +1

    Это топ

  • @sergeykagal8656
    @sergeykagal8656 Před 2 lety

    wtf РУСИ-МУСИ-ПУСИ! ?

  • @digitalturkistan1857
    @digitalturkistan1857 Před rokem

    Блин прям ругала требовала подписатся. Боюсь не подписатся

  • @x4r7
    @x4r7 Před 2 lety

    lol

  • @user-uc5zi1gs8f
    @user-uc5zi1gs8f Před 9 měsíci

    Кринжово, запутанно, непонятно

    • @webelart
      @webelart  Před 9 měsíci +1

      Так грусненько стало…

    • @user-uc5zi1gs8f
      @user-uc5zi1gs8f Před 9 měsíci

      @@webelart попробуйте мантаж, лишнюю путаницу удалите, оно никому не нужно

    • @webelart
      @webelart  Před 9 měsíci +1

      @@user-uc5zi1gs8f Монтировать я буду так как мне это нравится. Не нравится, кнопка unsubscribe. А это видео одно из лучших по монтажу.

    • @webelart
      @webelart  Před 9 měsíci

      @@user-uc5zi1gs8f и да про грусненько это было сарказм 🤌

    • @user-uc5zi1gs8f
      @user-uc5zi1gs8f Před 9 měsíci

      @@webelart было трудно, но я догадался👍🤣

  • @pavel.88
    @pavel.88 Před rokem

    Круговорот функций в javascript, чет в голос😅

  • @ioankatsapovich
    @ioankatsapovich Před rokem

    Не русской а расейской

    • @Leman_357
      @Leman_357 Před rokem +1

      АРЯЯЯЯЯЯЯЯЯЯ

    • @ioankatsapovich
      @ioankatsapovich Před rokem

      @@Leman_357 расиянка?

    • @__kawaii
      @__kawaii Před 7 měsíci +1

      Поросенок, чего не под Авдеевкой в выгребной яме? В очередной раз испугался Русского сапога, как и в Бахмуте?) Твое проклятое племя всегда будет в рабстве под Русским сапогом, запомни, нация трусливого скота)

  • @dramaturgpodolsk
    @dramaturgpodolsk Před 11 měsíci

    Спасибо!