Nikita
Nikita Kryzhanouski Blog

Nikita Kryzhanouski Blog

Что такое callback в JavaScript?

Что такое callback в JavaScript?

Объясняю как пятилетнему.

Nikita's photo
Nikita
·Feb 8, 2022·

2 min read

Представьте, что вам пять лет. Вы едва что-то знаете о мире. И сейчас вы изучите одну из самых замысловатых концепций в JavaScript – callback.

Начнем?

Эй ты, функция.

Представьте, что JavaScript — это большой король, который дает задачи маленьким людям.

2_2.png

2_3.png

В мире JavaScript-а маленькие люди, которые выполняют задачи, называются функциями. Функции могут выполнять любую задачу, которую им прикажет JavaScript.

2_4.png

Момент, когда JavaScript говорит функции выполнить какую-то задачу, называется вызовом функции.

2_4_2.png

Но не все функции одинаковы. Некоторые из них заранее знают, что они должны делать. Как функция выше, которая говорит, что Javascript король. Бедная функция.

Другие функции более гибкие. Они также знают, что они должны делать, но не знают, с чем именно они должны это делать, пока им этого не скажет Javascript.

2_5.png

2_6.png

2_7.png

Пока JavaScript не назвал цифры, первая функция их не знает. Все, что она знает, так это то, что она должна делать – принимать какие-то данные, в нашем случае это числа, и называть их сумму. Но не знает, какие именно это будут данные.

В мире JavaScript данные, которые принимает функция, называются аргументами. А значит два числа, которые принимает функция выше, называются аргументами.

2.png

Если JavaScript потом скажет этой функции принимать вместо двух чисел, три числа и еще принимать строку текста, и что-то с этим всем сделать, то эти числа и текст также будут называться аргументами.

Теперь, когда познакомились с функциями и их аргументами, пора представить вам колбэка.

Кто, черт возьми, этот callback?

Как видите, JavaScript носит большую корону на голове. Это значит, что он король своего мира и может делать в нем все, что захочет. Например, он может сказать одной функции принять другую функцию а затем ее вызвать.

2_8.png

2_9.png

2_10.png

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

Что это дает?

В мире JavaScript действует правило – если одна функция принимает другую функцию в качестве аргумента (1) и вызывает ее внутри себя (2), принятая функция называется функцией callback. Или более сокращенное название – callback.

В нашем примере, первая функция принимает имя второй функции (1) и вызывает ее внутри своей задачи, то есть себя (2). Из этого следуют, что функция номер два — это callback.

2_11.png

2_12.png

Функции по-прежнему называются функциями. Но если они принимаются в качестве аргументов в других функциях, и там вызываются, они называются callback.

Вот так устроен мир JavaScript.

И на последок...

Каждую неделю я читаю 30+ статей на тему разработки, отбираю 3 самых ценных и пишу о них в моем Telegram канале. Если не хочешь пропустить следующую подборку, приходи в @nickondev

 
Share this