What is Currying in JavaScript: A Practical Guide (Interview Question)
This video provides a clear and practical explanation of currying in JavaScript, a common interview topic. It demonstrates the concept itself and a real-world use case for sending emails, contrasting it with regular functions and manual variable collection.
Keywords: currying in JavaScript, JavaScript currying, functional programming, closures, higher-order functions, JavaScript coding interview
What is Currying?
The video begins by explaining currying using a simple add function that takes three parameters (a, b, c) and returns their sum.
- Normal Function:
add(2, 5, 10)immediately executes and returns the sum. - Curried Function: Instead of returning the sum directly, it returns a series of nested functions, each taking one argument.
function add(a) {
return function(b) {
return function(c) {
return a + b + c;
}
}
}
This allows you to call the function step-by-step: add(2)(5)(10). The final addition only happens when all three arguments are provided.
Why Use Currying?
The key advantage is that a function is only executed when all its arguments are available. This is useful when data comes from different sources (e.g., API calls, user input).
Instead of manually collecting three variables and checking if all are present before calling the function, currying handles this automatically. The function simply doesn't execute until the last argument is passed.
Practical Example: Sending Automated Emails
The video provides a real-world scenario: an automated email sending system with three parameters:
- To (recipient address)
- Subject
- Body
These parameters might be collected by different developers or at different times.
Without Currying
You would need to manually collect all three pieces of data in variables and then call a single function, which is not scalable for many parameters.
With Currying
The sendAutoEmail function is curried:
const sendAutoEmail = (to) => (subject) => (body) => `Sending email to ${to} with subject ${subject} and body ${body}`;
Now, different developers can handle their part:
- Developer 1 (Handles the 'To' address):
const step1 = sendAutoEmail('[email protected]'); - Developer 2 (Handles the 'Subject'):
const step2 = step1('New Order Confirmation'); - Developer 3 (Handles the 'Body'):
const result = step2('Your order has been placed.'); console.log(result); // Output: Sending email to [email protected] with subject New Order Confirmation and body Your order has been placed.
Each developer works on their own part, and the email is only sent when all three arguments are provided.
Modern Syntax for Currying
The video also shows how to write curried functions more concisely using arrow functions:
// Traditional
const add = (a) => (b) => (c) => a + b + c;
// For the email example
const sendAutoEmail = (to) => (subject) => (body) => `Sending email to ${to} with subject ${subject} and body ${body}`;
Key Takeaways
- Currying transforms a function that takes multiple arguments into a sequence of nested functions, each taking a single argument.
- Core Benefit: A function is executed only when all arguments are available, making it ideal for data collected from multiple sources.
- Foundation: Currying is built on closures (a function returning a function).
- Practical Use: It's a powerful technique in functional programming and is frequently asked about in JavaScript interviews. For additional common interview challenges, also see Top 30 JavaScript Interview Questions with Expert Answers.
рд╣реА рдПрд╡рд░реАрд╡рди рд╡реЗрд▓рдХрдо рдмреИрдХ рдПрдВрдб рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╣рдо рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рд╡реНрд╣рд╛рдЯ рдЗрд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЛ рд╣рдо рдЗрд╕рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдХрд╛рд░реА рдХреА рдПрдВрдб рд╕реНрдкреЙрдЗрд▓ рдЕрд▓рд░реНрдЯ рд╣рдо рдЗрд╕ рдХрд╛рд░реА рдХреА рдмрд╛рдд рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реА рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдбрд┐рдлрд░реЗрдВрдЯ рд╣реИ рдУрдХреЗ рддреЛ рджреЗрдЦрддреЗ
рд╣реИрдВ рд╡реНрд╣рд╛рдЯ рдЗрд╕ рдХрд░реА рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ рддреВ рдбреЗрдореЛрдВрд╕реНрдЯреНрд░реЗрдЯ рд╡реНрд╣рд╛рдЯ рдЗрд╕ рдХреЗрдпрд░рд┐рдВрдЧ рдареАрдХ рд╣реИ рддреЛ рдпреЗ рднреА рдмрд╣реБрдд рдПрдбрд╡рд╛рдВрд╕ рдФрд░ рдЖрдИ рдХреИрди рд╕реЗ
рдмрд╣реБрдд рд╣реА рдХреЙрдорди рдЗрдВрдЯрд░рд╡реНрдпреВ рдХреНрд╡реЗрд╢реНрдЪрди рд╣реИ рдЬреЛ рдХрд░реАрдо рдХрд╛рдлреА рдкреВрдЫрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╕реЛ рдпреВ рд╢реБрдб рдиреЛ рд╡реНрд╣рд╛рдЯ рдЗрд╕ рдХреЗрдпрд░рд┐рдВрдЧ рдЗрди рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдВрдб
рдореЛрд╕реНрдЯ рдЗрдВрдкреЙрд░реНрдЯреЗрдВрдЯ рд╡реНрд╣рд╛рдЯ рдЗрд╕реЗ рдбреА рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓ рдЙрд╕реЗ рдСрдл рдХрд░реЗрдВрдЧреЗ рдУрдХреЗ рддреЛ рд▓реЗрдЯ рдЕрд╕ рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдкрд░ рдПрдХ рдлрдВрдХреНрд╢рди рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдПрдХ рдРрдб
рдлрдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдмреЗрд╕рд┐рдХрд▓реА рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рддреАрди рдирдВрдмрд░реНрд╕ рдХреЛ рдРрдб рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдореЗрдВ рдПрдХ рдП рдмреА рдПрдВрдб рд╕реА рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрддреЗ рд╣реИрдВ рдПрдВрдб рдпреЗ рдлрдВрдХреНрд╢рди рдХреНрдпрд╛
рдХрд░рддрд╛ рд╣реИ рддреЛ рдореИрдВ рд░рд┐рдЯрд░реНрди рдХрд░ рджреЗрддрд╛ рд╣реИ рдП рдкреНрд▓рд╕ рдмреА рдкреНрд▓рд╕ рд╕реА рдЧреНрд░реЗрдЯ рдиреМ рд╡реНрд╣рд╛рдЯ рдпреВ рдХреИрди рдбреВ рддреБрдо рдЗрд╕ рдлрдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реЛ рдиреЙрд░реНрдорд▓реА рддреЛ рдореИрдВ
рдлрдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реЛ рд▓реЗрдЯ рдЕрд╕ рд╕реЗ рдРрдб рдПрдВрдб рдЗрд╕рдХреЗ рдЕрдВрджрд░ рддреБрдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реЛ рддреАрди 12 рдореАрдЯрд░ рдХреЛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реЛ рд╕реЛ рд▓рд╛рдЗрдХ рдЖрдп рдХреИрди рд╕реЗ
рддреВ рдкреНрд▓рд╕ рдлрд╛рдЗрд╡ рдкреНрд▓рд╕ рд╕реЗ 10 рдХрд░реЗрдХреНрдЯ рдПрдВрдб рдЬреИрд╕реЗ рддреБрдо рдЙрд╕рдХреЛ рд╕реЗ рдХрд░реЛрдЧреЗ рдпреВ рдЧреЛ рдбреА рдЖрдЙрдЯрдкреБрдЯ рдСрди рджреА рдЯрд░реНрдорд┐рдирд▓ рдУрдХреЗ рд╕реЛ рддреБрдореНрд╣рд╛рд░реЗ рдЗрд╕ рдХрдВрд╕реЛрд▓ рдкреЗ рдХреНрдпрд╛
рд╣реЛрдЧрд╛ рдЖрдЙрдЯрдкреБрдЯ рдП рдЬрд╛рдПрдЧреА рдЧреНрд░реЗрдЯ рддреЛ рдпреЗ рддреЛ рдерд╛ рдиреЙрд░реНрдорд▓ рд╡рд░реНрдЬрди рдареАрдХ рд╣реИ рдЗрд╕рдореЗрдВ рд╣рдордиреЗ рдХреЛрдИ рднреА рдХреЗрдпрд░рд┐рдВрдЧ рд╡рдЧреИрд░рд╛ рдирд╣реАрдВ рдХреА рджрд┐рд╕ рдЗрд╕ рдЕрди рдиреЙрд░реНрдорд▓
рдлрдВрдХреНрд╢рди рдЬреЛ рджреЛ рддреАрди рдирдВрдмрд░реНрд╕ рдХреЛ рдРрдб рдХрд░рддрд╛ рд╣реИ рдЕрдм рд▓реЗрдЯреЗрд╕реНрдЯ рд╕реЗ рд╡реИрд░рд┐рдпреЗрдХ рд░рд┐рдЯрд╛рдпрд░рдореЗрдВрдЯ рд╣реИ рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рд╕реБрдирд╛ рд▓реЗрдЯреНрд╕ рд╕реЗ рдореЗрд░реА рдЯреНрд░рд┐рдХ
рд╡рд╛рдпрд░ рдореЗрдВ рд╣реИ рдбреЗрдЯ рдореИрдВ рдпреЗ рдРрдб рдореИрдВ рдпреЗ рдРрдб рдСрдкрд░реЗрд╢рди рддрднреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рддреАрдиреЛрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрд╡реЗрд▓реЗрдмрд▓ рд╣реИ рдпрд╛рдиреА рдХреА рдЬрдм
рдореЗрд░реЗ рдкрд╛рд╕ рддреАрдиреЛрдВ рдЪреАрдЬ рдЕрд╡реЗрд▓реЗрдмрд▓ рд╣реИ рдирд╛ рджреЗрдВ рдЖрдИ рд╡рд╛рдВрдЯ рддреВ рдРрдб рдЕрдм рд▓реЗрдЯрд░ рд╕реЗ рдЬреЛ рдЙрд╕рдХрд╛ рдлрд░реНрд╕реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдирд╛ рд╡реЛ рдореБрдЭреЗ рдХрд╣реАрдВ рдФрд░ рд╕реЗ рдорд┐рд▓рддрд╛
рд╣реИ рдареАрдХ рд╣реИ рдХрд┐рд╕реА рдПрдкреАрдЖрдИ рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдпреЗ рдмреА рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдирд╛ рдпреЗ рдореБрдЭреЗ рдХрд┐рд╕реА рдерд░реНрдб рдЖрдк рдРрд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдпреЗ рдЬреЛ рд╕реА
рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рд▓реЗрдЯ рдЕрд╕ рд╕реЗ рд╣реА рдЙрд╕реЗ рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдореБрдЭреЗ рдмреЗрд╕рд┐рдХрд▓реА рддреАрдиреЛрдВ рдЗрдирдкреБрдЯреНрд╕ рдХреЛ рдкрд╣рд▓реЗ рдЧрджрд░ рдХрд░рдирд╛ рд╣реИ рдЙрд╕рдХреЗ
рдмрд╛рдж рд╣реА рдЗрд╕ рдкрд╛рд░реНрдЯрд┐рдХреБрд▓рд░ рдлрдВрдХреНрд╢рди рдХреЛ рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдПрдЧреНрдЬреАрдХреНрдпреВрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛
рд╣рдореЗрдВ рдХрдо рдХрд░рддреЗ рд╣реИрдВ рдирд╛ рд╣рдо рддреАрди рд╡реИрд░рд┐рдпреЗрдмрд▓реНрд╕ рдмрдирд╛ рд▓реЗрддреЗ рд╣реИрдВ рдпрд╣рд╛рдВ рдкрд░ рддреБрдо рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рддреБрдо рддреАрди
рдЙрд╕рдХреЗ рдмрд╛рдж рддреБрдо рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рдПрдВрдб рдлрд┐рд░ рддреБрдо рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рд▓реЗрдЯреНрд╕ рд╕реА рдмрдирд╛ рд▓реЛрдЧ рд░рд╛рдЗрдЯ рдЙрд╕рдХреЗ рдмрд╛рдж рддреБрдо рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рдПрдХ-рдПрдХ рдХрд░рдХреЗ
рдЗрди рддреАрдиреЛрдВ рдХреЛ рдХрд▓реЗрдХреНрдЯ рдХрд░реЛрдЧреЗ рдПрдВрдб рдЬрдм рддрдХ рдпреЗ рддреАрдиреЛрдВ рдирд╣реАрдВ рдП рдЬрд╛рддреЗ рддрдм рддрдХ рддреБрдо рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рдЗрд╕ рдРрдб рдлрдВрдХреНрд╢рди рдХрд╛ рдПрдЧреНрдЬреАрдХреНрдпреВрдЯ рдирд╣реАрдВ рдХрд░реЛрдЧреЗ рдпреЗ
рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рд╕реНрдХреЗрд▓ рд╣реИ obbviously рдирд╣реАрдВ рдХреНрдпреЛрдВ рдмрд┐рдХреЙрдЬ рдпрд╣рд╛рдВ рдкрд░ рдореИрдВрдиреЗ рдПрдЧреНрдЬрд╛рдВрдкрд▓ рд▓рд┐рдП рддреАрди рд╡реИрд░рд┐рдпреЗрдмрд▓реНрд╕ рдХреА рд╣реЛ
рд╕рдХрддрд╛ рд╣реИ рддреБрдореНрд╣рд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдРрд╕рд╛ рдлрдВрдХреНрд╢рди рд╣реЛ рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рддреБрдореНрд╣рд╛рд░реЗ рдкрд╛рд╕ 10000 рдЕрд░рдЧреБрдореЗрдВрдЯ рдЬреЛ рддреЛ рдЙрд╕реЗ рдХреЗрд╕ рдореЗрдВ рддреБрдо рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рдареАрдХ рд╣реИ
рд╡реЛ рдПрдЧреНрдЬрд╛рдВрдкрд▓ рдкреЗ рдореИрдВ рдЖрдКрдВрдЧрд╛ рдЬреЛ рдореИрдВ рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓ рдПрдЧреНрдЬрд╛рдВрдкрд▓ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдмрдЯ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕рдордЭреЛ рдХреА рдпрд╛рд░ рддреБрдореНрд╣реЗрдВ рдирд╛ рдпреЗ
рд╡рд╛рд▓рд╛ рдЯрд╛рд╕реНрдХ рддрднреА рдХрд░рдирд╛ рд╣реИ рдЕрдЧрд░ рддреАрдиреЛрдВ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрд╡реЗрд▓реЗрдмрд▓ рд╣реИ рдкреНрд░реЙрдмреНрд▓рдо рдпреВ рдХреИрди рдЙрд╕реЗ рдХрд╛рд░реА рдареАрдХ рд╣реИ рддреЛ рддреБрдо
рдЗрд╕рдХреА рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рдХрд╛рд░реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реЛ рд╕реЛ рд▓реЗрдЯ рдореА рд╢реЛ рдпреВ рд╣реЛ рд╕реЛ рдЗрди рд╕реНрдЯреЗрдЯ рдСрдл рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рдП рдкреНрд▓рд╕ рдмреА рдкреНрд▓рд╕ рд╕реА рддреБрдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реЛ
рддреБрдо рдпрд╣рд╛рдВ рдкрд░ рдПрдХ рдХреНрд▓реЛрдЬрд░ рд░рд┐рдЯрд░реНрди рдХрд░ рд╕рдХрддреЗ рд╣реЛ рдкрд┐рдЫрд▓реА рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╣рдордиреЗ рдХреНрд▓реЛрдЬрд░реНрд╕ рдкрдбрд╝реЗ рдж рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рдкрд░ рдХреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ рд░рд┐рдЯрд░реНрди рдХрд░реВрдВрдЧрд╛ рдПрдХ
рдлрдВрдХреНрд╢рди рдареАрдХ рд╣реИ рдЬреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрдЧрд╛ рдХреНрдпрд╛ рдмреЛрд▓ рд░рд╣рд╛ рд╣реВрдВ рдареАрдХ рд╣реИ
рдлрд┐рд░ рд╕реЗ рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИ рдПрдХ рдлрдВрдХреНрд╢рди рдЬреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ рд╕реА рдПрдВрдб рдлрд╛рдЗрдирд▓реА рдпреВ рд░рд┐рдЯрд░реНрди рдП + рдмреА + рд╕реА рдареАрдХ рд╣реИ рдЕрдм рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реБрдЖ
рдмреЗрд╕рд┐рдХрд▓реА рдЗрд╕рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ рдареАрдХ рд╣реИ рд╕реЛ рд▓реЗрдЯ рдореА рд╢реЛ рдпреВ рд╡реНрд╣рд╛рдЯ рджрд┐рд╕ рдорд┐рдВрд╕ рддреЛ рдЗрд╕ рдЪреАрдЬ рдХреЛ рд╣рдо рдХреНрдпрд╛ рдмреЛрд▓рддреЗ рд╣реИрдВ рдХрд╛рд░реА рдмреЛрд▓рддреЗ рд╣реИрдВ рддреЛ рдпреЗ рдХреНрдпрд╛
рд╣реЛ рд░рд╣рд╛ рд╣реИ рдпреЗ рдПрдХ рдлрдВрдХреНрд╢рди рдХреА рдХрд╛рд░реА рд╣реЛ рд░рд╣реА рд╣реИ рдареАрдХ рд╣реИ рд╕реЛ рджрд┐рд╕ рдЗрд╕реЗ рдбреА рдлрдВрдХреНрд╢рди рдХрд░реЗрдВрдЧреЗ рдЗрд╕рдореЗрдВ рдмреЗрд╕рд┐рдХрд▓реА рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рддреБрдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реЛ
рддреБрдореНрд╣рд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрдб рдлрдВрдХреНрд╢рди рд╣реИ рддреБрдордиреЗ рдРрдб рдлрдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рддреБрдореНрд╣рд╛рд░реА рдкрд╣рд▓реА рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рд╣реИ рддреБрдореНрд╣рд╛рд░рд╛ рдЬреЛ рдкрд╣рд▓рд╛ рдЕрд░рдЧреБрдореЗрдВрдЯ
рдерд╛ рдирд╛ рд╡реЛ рдХрд╣реАрдВ рд╕реЗ рдорд┐рд▓ рдЧрдпрд╛ рддреБрдореНрд╣реЗрдВ рдареАрдХ рд╣реИ рдПрдВрдб рджреЗрдВ рдлрд╛рдЗрдирд▓ рдпреВ рдХреИрди рдХреЙрд▓ рдерд┐рд╕ рдлрдВрдХреНрд╢рди рдХреА рдж
рдлрд╛рдЗрд╡ рдУрдХреЗ рдЧреЗрдЯ рдпреВ рдЧреЗрдЯ 10 рд╕реЛ рдмреЗрд╕рд┐рдХрд▓реА рддреВ рдЬреЛ рдпреЗ рдлрдВрдХреНрд╢рди рд░рд┐рдЯрд░реНрди рдХрд░реЗрдЧрд╛ рдЬреЛ рдереНрд░реА рдореЗрдВ рддреВ рдХреЛ рдРрдб рдХрд░
рджреЗрдЧрд╛ рдЬреЛ рдПрдХ рдлрдВрдХреНрд╢рди рд░рд┐рдЯрд░реНрди рдХрд░реЗрдЧрд╛ рдЬреЛ рдмреЗрд╕рд┐рдХрд▓реА рдП рдФрд░ рдмреА рдХреЗ рдЕрдВрджрд░ рд╕реА рдХреЛ рдРрдб рдХрд░ рджреЗрдЧрд╛ рддреЛ рдпреЗ рд╡рд╛рд▓рд╛ рдкрд╛рд░реНрдЯрд┐рдХреБрд▓рд░ рдлрдВрдХреНрд╢рди рддрдм рддрдХ
рдПрдЧреНрдЬреАрдХреНрдпреВрдЯ рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЬрдм рддрдХ рддреАрдиреЛрдВ рдХреЗ рддреАрдиреЛрдВ рдЕрд░рдЧреБрдореЗрдВрдЯ рддреЛ рдореИрдВ рдорд┐рд▓ рдирд╣реАрдВ рдЬрд╛рддреЗ рдУрдХреЗ рдЕрдЧрд░ рддреБрдо рдПрдХ рднреА рдЕрд░рдЧреБрдореЗрдВрдЯ рдХреЛ рд╣рдЯрд╛ рджреЛрдЧреЗ рдирд╛
рдбреЗрдЯ рдРрд╕реЗ рдореИрдВрдиреЗ рдЗрд╕рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рддреЛ рддреБрдо рджреЗрдЦреЛрдЧреЗ рддреБрдореНрд╣рд╛рд░рд╛ рдлрдВрдХреНрд╢рди рдПрдЧреНрдЬреАрдХреНрдпреВрдЯ рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рддреБрдореНрд╣реЗрдВ рдПрдХ рдлрдВрдХреНрд╢рди рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ
рдЬреЛ рдмреЗрд╕рд┐рдХрд▓реА рдП + рдмреА + рд╕реА рдХреЛ рдРрдб рдХрд░реЗрдЧрд╛ рддреЛ рдЬрдм рддрдХ рддреБрдо рдерд░реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░реЛрдЧреЗ рддреБрдореНрд╣рд╛рд░рд╛ рдпреЗ рдлрдВрдХреНрд╢рди рдПрдЧреНрдЬреАрдХреНрдпреВрдЯ рдирд╣реАрдВ рдХрд░рдиреЗ
рд╡рд╛рд▓рд╛ рдУрдХреЗ рд╕реЛ рдЗрд╕ рдЪреАрдЬ рдХреЛ рд╣рдо рдХреНрдпрд╛ рдмреЛрд▓рддреЗ рд╣реИрдВ рд╕рд┐рдВрдкрд▓ рдЯрд░реНрдореНрд╕ рдореЗрдВ рдХрд░рд┐рдВрдЧ рдмреЛрд▓рддреЗ рд╣реИрдВ рдареАрдХ рд╣реИ рд╕реЛ рджрд┐рд╕ рдЗрд╕ рд╡реИрди рдПрдЧреНрдЬрд╛рдВрдкрд▓ рдСрдл рдХрд░реЗрдВрдЧреЗ рдУрдХреЗ рдЕрдм
рдореИрдВ рддреБрдореНрд╣реЗрдВ рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓ рдЙрд╕реЗ рдХрд░рдХреЗ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдкрд░ рддреБрдо рдЙрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реЛ рддреЛ рдореИрдВрдиреЗ рдХреЛрдИ рдИрдореЗрд▓ рд╕рд░реНрд╡рд░ рдмрдирд╛рдирд╛ рд╣реИ рдареАрдХ рд╣реИ
рдХреБрдЫ рдСрдЯреЛрдореЗрдЯрд┐рдХ рдИрдореЗрд▓ рд╕рд░реНрд╡рд░ рдмрдирд╛рдирд╛ рд╕реЗрдВрдб рд╕реЗрдВрдб рдСрдЯреЛ рдИрдореЗрд▓ рдареАрдХ рд╣реИ рддреЛ рдЗрд╕рдореЗрдВ рддреБрдордиреЗ рдХреБрдЫ рдРрд╕ рд▓рдЧрд╛ рджрд┐рдпрд╛ рдЕрдм рдЬрдм рддреБрдореНрд╣реЗрдВ рдИрдореЗрд▓ рдХреЛ
рд╕реЗрдВрдб рдХрд░ рджреЗрдирд╛ рд▓реЗрдЯрд╕ рд╕реЗ рддреБрдореНрд╣рд╛рд░реЗ рдкрд╛рд╕ рдирд╛ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рд╣реИрдВ рдЬреЛ рдХрд╣реАрдВ рдирд╛ рдХрд╣реАрдВ рд╕реЗ рдХреИрд▓рдХреБрд▓реЗрдЯ рд╣реЛ рдХреЗ рдЖрдПрдВрдЧреЗ рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рддреБрдореНрд╣рд╛рд░рд╛ рд╣реЛрдЧрд╛ 2 рдПрдбреНрд░реЗрд╕ рдХрд┐рд╕рдХреЛ рд╕реЗрдВрдб рдХрд░рдиреА рд╣реИ рдИрдореЗрд▓ рд╕рдмреНрдЬреЗрдХреНрдЯ рдПрдВрдб рдмреЙрдбреА рддреЛ рддреБрдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реЛ рддреБрдо рдЗрд╕рдХреА рдХрд╛рд░реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реЛ рдареАрдХ рд╣реИ
рд╕реЛ рдпреВ рдХреИрди рд╕реЗ рдХрд┐рд╕рдХреЛ рдИрдореЗрд▓ рд╕реЗрдВрдб рдХрд░рдиреА рд╣реИ рдареАрдХ рд╣реИ рдпреЗ рдлрд┐рд░ рд╕реЗ рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ рд░рд┐рдЯрд░реНрди рдХрд░реЗрдЧрд╛ рдПрдХ рдлрдВрдХреНрд╢рди рдЬрд┐рд╕рдореЗрдВ рддреБрдо рдмреЛрд▓реЛрдЧреЗ рдпрд╛рд░ рдпреЗ рдирд╛
рд╕рдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдареАрдХ рд╣реИ рдЙрд╕рдХреЗ рдмрд╛рдж рддреБрдо рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рдЯрд░реНрди рдХрд░реЛрдЧреЗ рдПрдХ рдлрдВрдХреНрд╢рди рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рддреБрдо рдмреЙрдбреА рдкрд╛рд╕ рдХрд░ рджреЛрдЧреЗ рдПрдВрдб рдлрд╛рдЗрдирд▓реА рддреБрдо рдпрд╣рд╛рдВ
рдкрд░ рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рд░рд┐рдЯрд░реНрди рд▓реЙрдХ рд╕реЗрдВрдбрд┐рдВрдЧ рдИрдореЗрд▓ рдареАрдХ рд╣реИ рд╕реЗрдВрдбрд┐рдВрдЧ рдИрдореЗрд▓ рдПрдВрдб рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдмреЛрд▓реЗрдВрдЧреЗ рддреВ рддреЛ рдпрд╣рд╛рдВ рдкрд░ рд╣рдо рдПрдХ
рдИрдореЗрд▓ рдХрдВрдкреЛрдЬ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рддреВ рд╡рд┐рдж рд╕рдмреНрдЬреЗрдХреНрдЯ рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдВ рдкрд░ рд╕рдмреНрдЬреЗрдХреНрдЯ рдП рдЬрд╛рдПрдЧрд╛ рдПрдВрдб рд╣рдо рдмреЛрд▓ рд░рд╣реЗ рд╣реИрдВ рдмреЗрд╕рд┐рдХрд▓реА рд╣рдо рдмреЛрд▓ рд░рд╣реЗ рд╣реИрдВ рддреЛ
рдЬреЛ рднреА рд╣рдорд╛рд░рд╛ рдмреЙрдбреА рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдЬреЛ рднреА рд╣рдорд╛рд░рд╛ рдмреЙрдбреА рд╣реИ рддреЛ рдореИрдВ рддреБрдореНрд╣реЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВ рдпрд╣рд╛рдВ рдкрд░ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкреЗ
рдХрд╛рд░реА рдмрдирд╛рдпрд╛ рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдВ рдкреЗ рдПрдХ рд╕рд┐рдВрдкрд▓ рд╣реИ рдмреЗрд╕рд┐рдХрд▓реА рдкрд╣рд▓рд╛ рддреВ рдХреЛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИ рдПрдХ рдлрдВрдХреНрд╢рди рдЬреЛ рд╕рдмреНрдЬреЗрдХреНрдЯ рдХреЛ
рдЬреЛ рд╕рдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХреНрд╕реЗрдкреНрдЯ рдХрд░рддрд╛ рд╣реИ рд╕рдмреНрдЬреЗрдХреНрдЯ рджреЗрдиреЗ рдХреЗ рдмрд╛рдж рддреБрдореНрд╣реЗрдВ рдлрдВрдХреНрд╢рди рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рдмреЙрдбреА рдХреЛ рд╢рд┐рдлреНрдЯ рдХрд░рддрд╛ рд╣реИ рдПрдВрдб рдлрд╛рдЗрдирд▓реА рдпреВ рдХреИрди
рд╕реЗрдВрдб рдПрдВрдб рдИрдореЗрд▓ рдареАрдХ рд╣реИ рдЕрдм рд▓реЗрдЯреЗрд╕реНрдЯ рдореЗрдВ рдХрдо рдХрд░ рд░рд╣реЗ рд╣реЛ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рддреАрди рдореЗрдВ рдХрдо рдХрд░ рд░рд╣реЗ рд╣реЛ рд▓реЗрдЯ рдЕрд╕ рд╕реЗ рддреБрдореНрд╣рд╛рд░рд╛ рдЯрд╛рд╕реНрдХ рдХреНрдпрд╛ рд╣реИ
рдпрд╛рд░ рддреБрдореНрд╣реЗрдВ рдирд╛ рдпреЗ рддреВ рдХреЛ рдорддрд▓рдм рдмреЗрд╕рд┐рдХрд▓реА рдЗрд╕ рддреВ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рдирд╛ рдореЗрд░рд╛ рдЯрд╛рд╕реНрдХ рдерд╛ рдореБрдЭреЗ рдирд╣реАрдВ рд╕рдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рдирд╛ рд╣реИ рдПрдВрдб рдХрд┐рд╕реА рдФрд░
рдерд░реНрдб рдкрд╛рд░реНрдЯреА рдерд░реНрдб рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдХрдо рд╣реИ рдЗрд╕ рдмреЙрдбреА рдХреЛ рддреЛ рдореИрдВ рдХреНрдпрд╛ рдмреЛрд▓ рд╕рдХрддрд╛ рд╣реВрдВ рдореИрдВ рдмреЛрд▓ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдбрд╛рдЯрд╛ рд╕реЗ рддреВ рдЕрд╡реЗрд▓реЗрдмрд▓ рд╣реБрдЖ
рддреЛ рдореИрдВ рдЙрд╕рдХреЛ рдмреЛрд▓реВрдВрдЧрд╛ рд▓реЗрдЯ рд░рд┐рдЬрд▓реНрдЯ рдареАрдХ рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдореЗрд░рд╛ рдХрдо рдХреНрдпрд╛ рд╣реБрдЖ рдореЗрд░рд╛ рдХрдо рдпрд╣рд╛рдВ рдкрд░ рдЦрддреНрдо
рдореЗрд░рд╛ рд╕реЙрд░реА рддреБрдореНрд╣рд╛рд░рд╛ рдХрдо рдЦрддреНрдо рддреБрдореНрд╣рд╛рд░рд╛ рдХрдо рдХреНрдпрд╛ рдерд╛ рдбреЗрдЯ рддреБрдореНрд╣реЗрдВ рдирд╛ рдпрд╛рд░ рдпреЗ рдХрд╣реАрдВ рд╕реЗ рдЧрджрд░ рдХрд░ рд░рд╣реА рд╣реИ рдЗрдирдлреЙрд░рдореЗрд╢рди рдареАрдХ рд╣реИ рддреЛ рддреБрдордиреЗ
рдЗрд╕рдХреЛ рдЧрджрд░ рдХрд░ рд▓рд┐рдпрд╛ рдЕрдм рдореИрдВ рдХреМрди рд╣реВрдВ рдореИрдВ рд╣реВрдВ рдпреВрдЬрд░ рддреВ рдореИрдВ рд╣реВрдВ рдбрд┐рд╡реЗрд▓рдк рддреВ рддреЛ рдореИрдВ рдХреНрдпрд╛ рдмреЛрд▓реВрдВрдЧрд╛ рдореИрдВ рдмреЛрд▓реВрдВрдЧрд╛ рд╕реНрдЯреЗрдк рддреВ рдЗрдХреНрд╡рд▓ рддреВ
рдореИрдВ рддреБрдореНрд╣рд╛рд░рд╛ рд╕реНрдЯреЗрдк рдЙрд╕реЗ рдХрд░реВрдВрдЧрд╛ рдЖрдИ рд╡рд┐рд▓ рдЙрд╕реЗ рдпреЛрд░ рд╕реНрдЯреЗрдк рд╡реИрди рдПрдВрдб рдореИрдВ рдпрд╣рд╛рдВ рдкреЗ рд╕рдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдРрдб рдХрд░ рджреВрдВрдЧрд╛ рдбреЗрдЯ рдпреВ рдиреЛ рдпреВ рд╣реИрд╡ рдЕрди рдиреНрдпреВ
рдСрд░реНрдбрд░ рдХрдиреНрдлрд░реНрдореЗрд╢рди рдореЗрд░рд╛ рдХрдо рдЦрддреНрдо рдареАрдХ рд╣реИ рддреЛ рдореЗрд░рд╛ рдХрдо рдХреНрдпрд╛ рдерд╛ рдбреЗрдЯ рдЗрд╕ рдореЗрдВ рдореБрдЭреЗ рд╕рдмреНрдЬреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИ рдореЗрд░рд╛ рдХрдо рдЦрддреНрдо рдЕрдм рдЬреЛ рдерд░реНрдб рдбреЗрд╡рд▓рдкрд░
рд╣реЛрдЧрд╛ рд╡реЛ рдмреЗрд╕рд┐рдХрд▓реА рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ рдЗрд╕ рд╕реНрдЯреЗрдк рддреВ рдХреЛ рдХреЙрд▓ рдХрд░ рджреЗрдЧрд╛ рд╕реНрдЯреЗрдк рддреВ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдПрдВрдб рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдмреЙрдбреА рдкрд╛рд░реНрдЯреНрд╕ рдХрд░ рджреЗрдЧрд╛
рд╕реАрдзрд╛ рд╣рдордиреЗ рдпрд╣ рд╡рд╛рд▓рд╛ рдХрдо рддрднреА рдХрд┐рдпрд╛ рдЬрдм рдореЗрд░реЗ рддреАрдиреЛрдВ рдХреЗ рддреАрдиреЛрдВ рдЕрд░рдЧреБрдореЗрдВрдЯ рдЕрд╡реЗрд▓реЗрдмрд▓ рдж рдареАрдХ рд╣реИ рдмрд┐рдХреЙрдЬ рдирд╣реАрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдирд╛ рдЕрдЧрд░ рдореИрди рд▓реЛ
рддреБрдо рдЗрд╕рдХреЛ рд╕рд┐рдВрдкрд▓ рдИрдореЗрд▓ рдХреА рддрд░рд╣ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдареАрдХ рд╣реИ рддреЛ рдПрдХреНрд╕ рдПрдВрдб рдСрдЯреЛрдореЗрдЯрд┐рдХ рдИрдореЗрд▓ рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рд╣реИ рддреВ рд╕рдмреНрдЬреЗрдХреНрдЯ рдПрдВрдб рдмреЙрдбреА
рддреЛ рд╣реЛрддрд╛ рдХреНрдпрд╛ рдмреЗрд╕рд┐рдХрд▓реА рддреБрдо рдХрд╣рддреЗ рдпрд╛рд░ рдореЗрд░реЗ рдкрд╛рд╕ рддреЛ рд╕рд┐рд░реНрдл рддреВ рдЕрд╡реЗрд▓реЗрдмрд▓ рд╣реИ рдХреЛрдИ рдФрд░ рдХрд╣рддрд╛ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл рд╕рдмреНрдЬреЗрдХреНрдЯ рдХреЛрдИ рдФрд░ рдХрд╣рддрд╛ рд╣реИ
рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл рдмреЙрдбреА рд╣реИ рддреЛ рдХрд┐рд╕ рд╕реАрдХреНрд╡реЗрдВрд╕ рдореЗрдВ рд╣рдо рдЗрд╕рдХреЛ рд░рди рдХрд░реЗрдВ рддреЛ рдореИрдВ рдмреЛрд▓реВрдВрдЧрд╛ рдареАрдХ рд╣реИ рдпрд╛рд░ рдореИрдВ рдЕрдкрдирд╛ рддреВ рдФрд░ рд╕рдмреНрдЬреЗрдХреНрдЯ рддреБрдореНрд╣реЗрдВ
рджреЗ рджреЗрддрд╛ рд╣реВрдВ рддреБрдореНрд╣реЗрдВ рдЗрд╕ рдлрдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЛ рд╕реЛ рдЗрд╕ рдкрд╛рд░реНрдЯрд┐рдХреБрд▓рд░ рдкреНрд░реЙрдмреНрд▓рдо рдХреЛ рд╕реЙрд▓реНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣рдордиреЗ рдлрдВрдХреНрд╢рди рдХрд╛рд░реА
рдХрд╛ рдЙрд╕реЗ рдХрд┐рдпрд╛ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕реНрдЯреЗрдк рдХрд┐рдпрд╛ рдЙрд╕рдХрд╛ рд░рд┐рдЬрд▓реНрдЯ рдореИрдВрдиреЗ рд░рд┐рдЯрд░реНрди рдХрд░ рджрд┐рдпрд╛ рджреВрд╕рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдореЗрд░реЗ рдлрдВрдХреНрд╢рди рдХреЛ рдЙрд╕реЗ рдХрд░рдХреЗ рдЕрдкрдирд╛ рд╕реНрдЯреЗрдк
рдХрд┐рдпрд╛ рдареАрдХ рд╣реИ рдЙрд╕рдХреЛ рдирд╣реАрдВ рдкрддрд╛ рд▓рдЧрд╛ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдПрдВрдб рд▓рд╛рд╕реНрдЯ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдПрдВрдб рд╕рд╛рд░рд╛ рдХрдо рдЕрдкрдиреЗ рдЖрдк рд╣реЛ рдЧрдпрд╛ рд╕реЛ
рджрд┐рд╕ рдЗрд╕ рдиреЙрди рдЖрдЬ рдлрдВрдХреНрд╢рди рдХрд░реЗрдВ рдУрдХреЗ рдЕрдм рдЗрд╕ рдкрд╛рд░реНрдЯрд┐рдХреБрд▓рд░ рдлрдВрдХреНрд╢рди рдХрд╛рд░реА рдореЗрдВ рдЗрд╕ рдкрд╛рд░реНрдЯрд┐рдХреБрд▓рд░ рдлрдВрдХреНрд╢рди рдХрд░рд┐рдП рдореЗрдВ рдореИрдВрдиреЗ рдпреЗ рд╕рд┐рдХреНрд╕ рдХрд╛ рдЙрд╕реЗ
рдирд╣реАрдВ рдХрд┐рдпрд╛ рдпреВ рдХреИрди рд╕реА рдбреЗрдЯ рдорд┐рдВрд╕ рд╕рд┐рдВрдкрд▓ рдлрдВрдХреНрд╢рдВрд╕ рдЙрд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдПрдВрдб рд╡реНрд╣рд╛рдЯ рдЯрд╛рдЗрдо рдпреВрдЬрд┐рдВрдЧ рджрд┐рд╕ рд░рд┐рдЯреЗрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд░реЗрдХреНрдЯ рдЗрд╕реА рдХреЛ
рдЕрдЧрд░ рдореБрдЭреЗ рдореЙрдбрд┐рдлрд╛рдИ рдХрд░рдирд╛ рд╣реИ рдХреБрдЫ рдореЙрдбрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдХреЛрд░ рдореЗрдВ рддреЛ рддреБрдо рдЗрд╕рдХреЛ рдХреИрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ
рд╕реЗрдВрдб рдСрдЯреЛ рдИрдореЗрд▓ рдареАрдХ рд╣реИ рдЗрд╕рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦрдирд╛ рдЗрдХреНрд╡рд▓реНрд╕ рддреВ рдУрдХреЗ рдпреВ рдХреИрди рд╕реЗ рд╡реНрд╣рд╛рдЯ рдЗрд╕реЗ рджреА рдкреИрд░рд╛рдореАрдЯрд░ рдбреЗрдЯ рдпреВ рд╡рд╛рдВрдЯ рдпреВ рд╡рд╛рдВрдЯ рддреВ рджреЗрдВ рдпреВ
рдХреИрди рдпреВ рд╡рд╛рдВрдЯ рд╕рдмреНрдЬреЗрдХреНрдЯ рджреЗрдВ рджрд┐рд╕ рдЗрд╕реЗ рдПрди рдСрдл рдлрдВрдХреНрд╢рди рджреЗрдВ рдпреВ рд╡рд╛рдВрдЯ рдмреЙрдбреА рдУрдХреЗ рдпреВ рд╡рд╛рдВрдЯ рдмреЙрдбреА рдПрдВрдб рдлрд╛рдЗрдирд▓реА рд╡реНрд╣рд╛рдЯ рдпреВ рдХреИрди рдбреВ рдпреВ рдХреИрди рджрд┐рд╕
рдкрд╛рд░реНрдЯрд┐рдХреБрд▓рд░ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рддреЛ рдореИрдВ рдЗрд╕рдХреЛ рдХреЙрдкреА рдХрд░ рд▓реЗрддрд╛ рд╣реВрдВ рдХреЙрдкреА рдПрдВрдб рдкреЗрд╕реНрдЯ рддреЛ рдпреЗ рднреА рд╕реЗ рдХрдо рд╣реА рдХрд░реЗрдЧрд╛ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛
рдорд┐рдирд┐рдорд╛рдЗрдЬ рдХрд░рдХреЗ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╕реЗрдВрдб рдСрдЯреЛ рдИрдореЗрд▓ рддреВ рдЗрд╕реЗ рдЕрди рдлрдВрдХреНрд╢рди рд╡рд┐рдЪ рдЗрд╕ рд╕рдмреНрдЬреЗрдХреНрдЯ рддреВ рдЗрд╕реЗ рдЕрди рдлрдВрдХреНрд╢рди рд╡рд┐рдЪ рдЗрд╕ рдЕрди рдмреЙрдбреА
рдареАрдХ рд╣реИ рд╕рд┐рдорд┐рд▓рд░рд▓реА рдРрдб рдХреЗ рдХреЗрд╕ рдореЗрдВ рднреА рддреБрдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реЛ рд▓реЗрдЯреНрд╕ рд╕реЗ рд╣рдореЗрдВ рдЗрд╕рдХреЛ рдХрдиреНрд╡рд░реНрдЯ рдХрд░рдирд╛ рд╣реИ рд╕реЛ рдЖрдИ рдХреИрди рдЖрдИ рдХреИрди рд░рд┐рдХрд╡рд░
рджрд┐рд╕ рд╣рдЬ рдРрдб = рдлрдВрдХреНрд╢рди рд╕реА рд░рд┐рдЯрд░реНрди рдП + рдмреА + рд╕реА рддреЛ рдпреЗ рд╕реЗ рдХрдо рдХрд░реЗрдЧрд╛ рдУрдХреЗ рдЗрдл рдпреВ рд╡рд╛рдВрдЯ рдЕрди рдкреНрд░реВрдл рдХрдВрд╕реЛрд▓ рдФрд░
рд▓реЙрдХ рдХрд░рдХреЗ рджрд┐рдЦрд╛ рджреЗрддреЗ рд╣реИрдВ рд╕реЛ рдЖрдИ рд╡рд┐рд▓ рд╕реЗ рдРрдб рддреЛ рдРрдб рдХрд░реЛ рд╡реИрди рдХреЛ рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╢рдд рдкреНрд░рддрд┐рд╢рдд рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдРрдб рдХрд░рдирд╛ рд╣реИ
рд╕реЛ рдбреЗрдЯ рдЗрд╕ рд╣реЛ рдмреЗрд╕рд┐рдХрд▓реА рдпреВ рдХреИрди рдбреВ рджрд┐рд╕ рдУрдХреЗ рдмреЛрд▓рддреЗ рд╣реИрдВ рд╣рдо рдХреЗрдпрд░рд┐рдВрдЧ рдПрдВрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЛ рдпреЗ рдмрд╣реБрдд рд╣реА beneficiancy рд╣реИ рдФрд░ рдпреЗ
рдмреЗрд╕рд┐рдХрд▓реА рд╣рд╛рдИ рдСрд░реНрдбрд░ рдлрдВрдХреНрд╢рди рдПрдВрдб рдлрдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдЙрд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рд╕реЛ рдЖрдп рд╣реЛрдк рдбреЗрдЯ рддреВ рдореА рд╕реИрдо рдП рдЧрдпрд╛
рд╣реЛрдЧрд╛ рддреЛ рдмреЗрд╕рд┐рдХрд▓реА рд╣рдо рдХреНрдпрд╛ рдХрд╛ рд░рд╣реЗ рд╣реИрдВ рдорд▓реНрдЯреАрдкрд▓ рдХреНрд▓реЛрдЬрд░реНрд╕ рдмрдирд╛ рд░рд╣реЗ рд╣реЛ рдПрдХ рдлрдВрдХреНрд╢рди рд╡рд┐рдЪ рд░рд┐рдЯрд░реНрдиреНрд╕ рдлрдВрдХреНрд╢рди рдПрдХ рдлрдВрдХреНрд╢рди рд╡рд┐рдЪ рдЕрдЧреЗрди
рдбреА рдХреНрд▓реЛрдЬрд░ рдлрдВрдХреНрд╢рди рдЗрдл рдпреВ рдЖрд░ рдиреЙрдЯ рд╕рд░ рдХреНрд▓реЛрдЬ рдпреЛрд░ рдлрдВрдХреНрд╢рдВрд╕ рдХреНрдпрд╛ рд╣реЛрддреЗ рд╣реИрдВ рдореЗрд░реА рдкрд┐рдЫрд▓реА рд╡реАрдбрд┐рдпреЛ рдЬрд╛рдХрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЗрд╕рдореЗрдВ рдореИрдВрдиреЗ
рдХреНрд▓реЛрдЬрд░реНрд╕ рдХреА рдмрд╛рдд рдХреА рдереА рд▓рд┐рдВрдХ рдореИрдВ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдореЗрдВ рджрд▓ рджреВрдВрдЧрд╛ рдПрдВрдб рджрд┐рд╕ рд╡рд╛рдЬ рдСрд▓ рдЕрдмрд╛рдЙрдЯ рдХрд░реЗрдВ рдУрдХреЗ рд╕реЛ рдбреЗрдЯ рддреБрдореНрд╣реЗрдВ рд╕рдордЭ рдП рдЧрдпрд╛
рд╣реЛрдЧрд╛ рд╡реНрд╣рд╛рдЯ рдЗрд╕реЗ рдбреА рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓ рдЙрд╕реЗ рдХреЗрд╕ рдореИрдВрдиреЗ рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдХрд╛рдлреА рд╕рд┐рдВрдкрд▓ рд░рдЦрдиреЗ рдХреА рдЯреНрд░рд╛рдИ рдХреА рд╣реИ рд╕реЛ рджрд┐рд╕ рд╡реИрд╕реЗ рдСрд▓ рдЕрдмрд╛рдЙрдЯ рдХреЗрдпрд░рд┐рдВрдЧ
рдПрдВрдб рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЛ рдмреЗрд╕реНрдЯ рдСрдл рд▓рдХ рдлреЙрд░ рдпреЛрд░ рдиреЗрдХреНрд╕реНрдЯ рдЗрдВрдЯрд░рд╡реНрдпреВ рд╡реАрдбрд┐рдпреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рддреЛ рдмрдирддрд╛ рд╣реИ рдорд┐рд▓рддреЗ рд╣реИрдВ
Currying is a functional programming technique that transforms a function with multiple arguments into a sequence of nested functions, each taking a single argument. For example, instead of add(2, 5, 10), you call add(2)(5)(10). The final result is only computed when all arguments are provided, relying on closures to retain the previous arguments.
The primary benefit is that a curried function only executes when all its arguments are available. This is useful when data is collected from different sources (e.g., multiple API calls or user inputs) at different times. It eliminates the need for manual state management to check if all arguments are present before calling the function.
Currying treats a function as a series of steps, each returning a new function that expects the next argument. For example, for a curried email function sendAutoEmail(to)(subject)(body), Developer 1 can set the "to" address, Developer 2 can later set the "subject", and Developer 3 can set the "body". The email is only sent when all three arguments are provided, making it scalable for distributed workflows.
You can write curried functions concisely using arrow functions. For example, const add = (a) => (b) => (c) => a + b + c; is equivalent to the longer nested function version. This syntax is cleaner and commonly used in modern JavaScript for currying.
While currying is a common interview topic, it is also a practical tool in functional programming for building modular, reusable, and composable functions. It helps manage dependencies in code that handles asynchronous data or step-by-step logic, such as in email automation, form validation, or middleware pipelines.
Currying relies on closures, as each nested function closes over its argument and returns a new function. Without closures, the inner functions would not be able to access the arguments from outer functions when they are eventually called. This is why currying is often described as 'a function that returns a function'.
The key difference is that a curried function returns a series of functions, each expecting one argument, until all arguments are provided. A regular function executes immediately when called with all its arguments. Currying delays execution until all arguments are collected step-by-step, which is useful for partial application or when arguments arrive from different sources.
Keep this summary
Save it to LunaNotes and it becomes a real note in your library тАФ editable, searchable, and ready to turn into flashcards or a diagram. Free to start.
Save to LunaNotesOr summarise for another video.
32K+ people have turned 65K+ videos into notes
тАЬVery useful tool. I'm using it for the last couple weeks and I'm loving it so far. Makes learning on YouTube a great experience.тАЭ
This summary and transcript were automatically generated using AI with the Free YouTube transcript summary tool by LunaNotes.
Related summaries
Hoisting in JavaScript: Namaste JavaScript ЁЯФе Magic Behind Scopes
Learn the true magic of JavaScript hoisting тАФ how variables and functions are accessible before initialization. This in-depth tutorial explains the execution context, the difference between undefined vs not defined, and how the call stack works behind the scenes.
Top 30 JavaScript Interview Questions with Expert Answers
Master JavaScript interviews with this comprehensive guide featuring 30 commonly asked questions ranging from basics to advanced concepts. Gain insights on topics like hoisting, closures, promises, async/await, event delegation, and more, supported by clear examples and best practices for both beginners and experienced developers.
.NET Full-Stack Interview: C#, SQL, Web API & React Concepts Explained
In this mock interview, a full-stack developer with 3.5 years of experience is quizzed on key .NET, SQL, and React concepts. Topics covered range from C# fundamentals like IEnumerable vs IQueryable and async/await, to SQL indexing and normalization, as well as Web API middleware and React hooks.
JavaScript Complete Beginner to Advanced: Need, Origin & Node.js Setup
This video kicks off a comprehensive JavaScript series, explaining why JavaScript was created in 1995 despite existing languages like C++ and Java. It covers the need for a secure, lightweight, easy-to-learn language for web interactivity and provides a first-principles thinking approach to understand the JavaScript engine, V8, and how to set up Node.js on your system.
Python Functions: Reusable Logic and Code Organization Basics
Learn how to create and use Python functions to package logic into reusable blocks. This lesson covers function definition, parameters, return values, and how functions combine with loops to build structured programs.
Most viewed summaries
A Comprehensive Guide to Using Stable Diffusion Forge UI
Explore the Stable Diffusion Forge UI, customizable settings, models, and more to enhance your image generation experience.
Kolonyalismo at Imperyalismo: Ang Kasaysayan ng Pagsakop sa Pilipinas
Tuklasin ang kasaysayan ng kolonyalismo at imperyalismo sa Pilipinas sa pamamagitan ni Ferdinand Magellan.
Mastering Inpainting with Stable Diffusion: Fix Mistakes and Enhance Your Images
Learn to fix mistakes and enhance images with Stable Diffusion's inpainting features effectively.
Pamamaraan at Patakarang Kolonyal ng mga Espanyol sa Pilipinas
Tuklasin ang mga pamamaraan at patakaran ng mga Espanyol sa Pilipinas, at ang epekto nito sa mga Pilipino.
How to Install and Configure Forge: A New Stable Diffusion Web UI
Learn to install and configure the new Forge web UI for Stable Diffusion, with tips on models and settings.
Found this summary useful?
Take it with you. One click puts it in your own LunaNotes library.
Save to LunaNotes