What is Currying in javascript in hindi

Introduction

हेलो दोस्तों आज हम इस post में Javascript के Currying technique के बारे में जानेगे की Javascript में उसका इस्तेमाल क्यों और कैसे किया जाता है!.

What is currying in JavaScript in Hindi? Currying क्या है?

Currying एक functional programming technique है. जिसमे function को इस प्रकार से लिखा जाता है की वह एक बार में सभी argument को लेने के बजाय एक-एक करके argument लेता है!. इसका मतलब है की यह function को कई function में विभाजित कर देता है, और हर funciton सिर्फ एक argument लेता है और अगले function को return करता है!.

उसके आलावा हम Carrying को इस तरह बी समाज सकते है!

Currying एक technique है जो एक function को multiple functions का chain बनता है।  ये function एक बार में एक argument लेता है और एक नया function return करता है जो अगला argument लेता है!. ये process तब तक repeat होती है जब तक सारे arguments pass ना हो जाये और final result return ना हो!.

Example:

Currying को हम example के जरिये समजने की कोसिस करते है उसके लिए दो example देखेंगे जिसमे एक Currying technique का इस्तेमाल के बिना और दूसरे Currying technuque के साथ हो!. First हम Currying technique के बिना example देखेंगे!.

Normal function:

function add(x, y) {
    return x + y;
}
console.log(add(2, 3)); // Output: 5

Currying function:

function curriedAdd(a) {
    return function (b) {
        return a + b;
    };
}
console.log(curriedAdd(2)(3)); // Output: 5

हम ऊपर के dono example के बारे में detail में explaination समझेंगे। First Normal function add define kiya  गया है जो दो argument x and y लेता है और add funciton उन दोनों का sum return करता है!. ऊपर के First Normal funciton
example में देख सकते है की जब हम console.log(add(2, 3)); लिखा है उसमे add(2,3) function call होता है और function हमें 2+3=5 का result return करता है यहाँ पर x=2 और y=3 है!. ये function एक ही बार में सारे arguments (yahan 2 aur 3) लेता है और result return करता है!.

और  हम दूसरे Currying function के बारे में जानगे. उसमे curried function curriedAdd() define किया गया है!. जो एक ही बार में सारे arguments लेने के बजाये एक-एक argument लेता है!. curriedAdd(a) पहला funciton a को लेता है और एक function return करता है जो अगला argument b लेगा. जब हम curriedAdd(2) लिखते है तो function 2 को input के रूप में लता है. और एक function return करता है जो b लेगा!. जब हम उस returned function को 3 pass करते हैं तो ये a+b=2+3 return करता है!. और फाइनल हमें output में sum का result मिलता है!.

currying function एक ही बार में सारे arguments लेने के बजाये उन्हें अलग-अलग handle करता है!. जिसमे क्या होता है की
पहला function argument a को store करता है और बाकी arguments को handle करने के लिए एक function return करता है!.

Normal function or currying function में क्या difference है?

Normal function सारे arguments को एक ही बार में लता है जब की Curried function एक-एक argument को handle करता है!.

Normal function direct result return करता है जब की curried function एक function return करता है जो अगला argument लता है!.

Normal function में arguments को fix नहीं कर सकते जब की curried function में Partial arguments को fix कर सकते है!.

Normal function का syntax example कुछ इस तरह होता है add(2,3) जब की curried function का syntax curriedAdd(2)(3) होता है!.

Normal Function एक simple तरीका है जब आपको सारे arguments एक ही बार pass करने होते हैं!.
Curried Function एक flexible approach है जब आपको arguments अलग-अलग pass करने या किसी argument को fix करने की ज़रूरत हो!.

 

Currying का इस्तेमाल क्यों किया जाता है?

Currying का इस्तेमाल करने के कई practical और logical reasons होते हैं, जो code को ज़्यादा flexible, reusable, और maintainable बनाते हैं!. चलिए detail में समझते हैं की Currying का उसे क्यों किया जाता है!.

Reusability

Currying functions को reusable बनता है!. आप एक argument fix कर सकते हैं और बाकी arguments को dynamically handle कर सकते हैं!.

Example

function curriedMultiply(a) {
    return function (b) {
        return a * b;
    };
}

const multipleArgument = curriedMultiply(2); // Fix `a = 2`
console.logmultipleArgument(5)); // Output: 10
console.logmultipleArgument(10)); // Output: 20

अगर किसी specific argument के लिए बार-बार calculation करना हो, तो आप एक function बना कर reuse कर सकते हैं!.

Partial Application

Partial application का मतलब है की आप किसी function के कुछ arguments पहले ही fix कर सकते हैं और बाकी बाद में provide कर सकते हैं!.
Currying allow करता है की कुछ arguments अभी pass करें और बाकी के बाद में!.

Example

function curriedDiscount(discount)
 {
    return function (price) {
        return price - (price * discount);
    };
}

const discountOff = curriedDiscount(0.10);
console.logdiscountOff(100)); // Output: 90
console.logdiscountOff(200)); // Output: 180

ये pattern frequent use cases के लिए बहुत useful है, जैसे  discount calculation, tax calculation, etc.

Clean and Readable Code

Currying code को modular बनता है, जिसमे हर function एक specific task  के लिए responsible होता है!. ये code को समझने aur maintain करने में मदद करता है!.

Example

function logger(level) {
    return function (message) {
        console.log(`[${level}]: ${message}`);
    };
}

const infoMessage = logger("INFO");
const errorMessage = logger("ERROR");

infoMessage("This is an informational message."); 
// Output: [INFO]: This is an informational message.
errorMessage("This is an error message.");      
// Output: [ERROR]: This is an error message.

आप अलग-अलग tasks के लिए specific functions बना कर readability बढ़ा सकते हैं!.

Leave a Comment

Your email address will not be published. Required fields are marked *