Avatar ·

var functionName = function() {} और function functionName() {} के बीच अंतर JavaScript में

नमस्ते साथियों! मैं एक शुरुआती फ्रंट-एंड डेवलपर हूँ और मुझे भ्रम हुआ है। अलग-अलग प्रोजेक्ट्स और ट्यूटोरियल्स में मैं फंक्शन घोषित करने के दो तरीके देखता हूँ: ```javascript // तरीका 1: Function Expression (फंक्शनल एक्सप्रेशन) var myFunc = function() { console.log("Hello from expression!"); }; // तरीका 2: Function Declaration (फंक्शन घोषणा) function myFunc() { console.log("Hello from declaration!"); } ``` पहली नज़र में ये एक ही काम करते हैं। लेकिन जब मैंने अधिक जटिल कोड लिखना शुरू किया, तो मैंने अजीब व्यवहार देखा। उदाहरण के लिए, अगर मैं फंक्शन को उसकी घोषणा से पहले कॉल करता हूँ, तो एक तरीका काम करता है और दूसरा एरर देता है: ```javascript // यह काम करता है sayHello(); // प्रिंट करेगा "Hello!" function sayHello() { console.log("Hello!"); } // और यह एरर देता है sayGoodbye(); // TypeError: sayGoodbye is not a function var sayGoodbye = function() { console.log("Goodbye!"); }; ``` ऐसा क्यों होता है? इन दोनों के बीच मूलभूत अंतर क्या है?