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

preview_player
Показать описание
На пальцах всё изучим, до самой глубины. Поймём наконец-то эту страшно технику!

🏰 Английский YouTube: @webelart_en

Рекомендую посмотреть ВСЕ ВИДЕО на моём канале!

Я рассматриваю различные темы веб-разработки, на текущий момент: веб-основы, веб-анимации, веб-дизайн и ОПЫТ В ДО*УЯ лет.
Рекомендации по теме
Комментарии
Автор

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

sergeystarkov
Автор

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

svetlanazheleykina
Автор

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

avocodeuser
Автор

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

ХаджимуратОмаров-тс
Автор

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

namax
Автор

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

МишаЩетинин-зы
Автор

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

GkuZzz
Автор

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

nonamenobody
Автор

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

kraysmax
Автор

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


Спасибо за крутые видео

squitani
Автор

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

imgod
Автор

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

VenatorLine
Автор

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

Albert_Hall
Автор

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

B_G_V
Автор

Пожалуй, самое жесткое решение, правда без this:

const curry = (fn) =>
function curried(...a)
{
return a.length >= fn.length ? fn(...a) : (...b) => curried(...a, ...b)
}

Заспредженные аргументы можно чейнить через запятую в списке аргументов функции

frobeniusfg
Автор

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

aktotuttttt
Автор

Немного другой пример карирования.

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
}
}
}

v.demchenko
Автор

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

serdotsenko
Автор

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

dcdc
Автор

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

gkhabada