𝗧𝘆𝗽𝗲𝘀 𝗼𝗳 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁

JavaScript ನಲ್ಲಿ ಫಂಕ್ಷನ್‌ಗಳು ಅತ್ಯಗತ್ಯ. ಅವು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಸಂಘಟಿಸುತ್ತವೆ. ಅವು ಪುನರಾವರ್ತನೆಯನ್ನು ತಡೆಯುತ್ತವೆ. ಅವು ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಸುಲಭವಾಗಿ ನಿರ್ವಹಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ.

ಫಂಕ್ಷನ್ ಅನ್ನು ಒಂದು ಯಂತ್ರದಂತೆ ಭಾವಿಸಿ. ನೀವು ಇನ್‌ಪುಟ್ ನೀಡುತ್ತೀರಿ. ಅದು ಒಂದು ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ. ಅದು ನಿಮಗೆ ಔಟ್‌ಪುಟ್ ನೀಡುತ್ತದೆ.

ನೀವು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದ ವಿವಿಧ ರೀತಿಯ ಫಂಕ್ಷನ್‌ಗಳು ಇಲ್ಲಿವೆ:

• Function Declaration ಇವು ಹೆಸರಿಡಲಾದ ಫಂಕ್ಷನ್‌ಗಳು. ಇವು hoisting ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ. Example:

function greet() {
console.log("Hello World");
}

• Function Expression ನೀವು ಒಂದು ಫಂಕ್ಷನ್ ಅನ್ನು ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತೀರಿ. Example:

const greet = function() {
console.log("Hello");
};

• Anonymous Function ಹೆಸರಿಲ್ಲದ ಫಂಕ್ಷನ್. ಇವು ಹೆಚ್ಚಾಗಿ ಒಮ್ಮೆ ಕಾರ್ಯನಿರ್ವಹಿಸಿ ಮಾಯವಾಗುತ್ತವೆ.

• Arrow Function ES6 ನಲ್ಲಿ ಪರಿಚಯಿಸಲಾದ ಸಂಕ್ಷಿಪ್ತ ಸಿಂಟ್ಯಾಕ್ಸ್ (syntax). ಇವು React ನಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಕೆಯಾಗುತ್ತವೆ. Example:

const add = (a, b) => a + b;

• Parameters ಮತ್ತು Arguments Parameters ಎಂಬುದು ಪ್ಲೇಸ್‌ಹೋಲ್ಡರ್‌ಗಳು (placeholders). Arguments ಎಂಬುದು ನೀವು ನೀಡುವ ನೈಜ ಮೌಲ್ಯಗಳು. Example:

function greet(name) { // name ಎಂಬುದು parameter
console.log(name);
}
greet("John"); // "John" ಎಂಬುದು argument

• Return Function ಕರಲಿಸುವವರಿಗೆ (caller) ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸುವ ಫಂಕ್ಷನ್. ಇದು ಫಲಿತಾಂಶವನ್ನು ಮರುಬಳಕೆ ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

• Callback Function ಮತ್ತೊಂದು ಫಂಕ್ಷನ್‌ಗೆ ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ನೀಡಲಾದ ಫಂಕ್ಷನ್.

• Higher Order Function ಮತ್ತೊಂದು ಫಂಕ್ಷನ್ ಅನ್ನು ಸ್ವೀಕರಿಸುವ ಅಥವಾ ಹಿಂತಿರುಗಿಸುವ ಫಂಕ್ಷನ್.

• IIFE (Immediately Invoked Function Expression) ನೀವು ರಚಿಸಿದ ತಕ್ಷಣವೇ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಫಂಕ್ಷನ್.

• Constructor Function ಒಂದು ಟೆಂಪ್ಲೇಟ್‌ನಿಂದ ಅನೇಕ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ರಚಿಸಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

• Recursive Function ತನ್ನನ್ನು ತಾನೇ ಕರೆಯುವ ಫಂಕ್ಷನ್.

• Generator Function yield ಕೀವರ್ಡ್ ಬಳಸಿ ಒಂದೊಂದಾಗಿ ಮೌಲ್ಯಗಳನ್ನು ರಚಿಸುತ್ತದೆ.

• Async Function API ಕರೆಗಳಂತಹ ಕಾರ್ಯಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ಕಾಯುವ ಅವಧಿಯನ್ನು ನಿರ್ವಹಿಸಲು await ಕೀವರ್ಡ್ ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ.

• Nested Function ಮತ್ತೊಂದು ಫಂಕ್ಷನ್‌ನ ಒಳಗೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಫಂಕ್ಷನ್. ಒಳಗಿನ ಫಂಕ್ಷನ್ ಹೊರಗಿನ ಫಂಕ್ಷನ್‌ನ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ನೋಡಬಲ್ಲದು.

• Pure Function ಒಂದೇ ಇನ್‌ಪುಟ್‌ಗೆ ಯಾವಾಗಲೂ ಒಂದೇ ಔಟ್‌ಪುಟ್ ನೀಡುವ ಫಂಕ್ಷನ್. ಇದು ಬಾಹ್ಯ ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸುವುದಿಲ್ಲ.

• Rest Parameter Function ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಮೂರು ಚುಕ್ಕೆಗಳನ್ನು (...) ಬಳಸುತ್ತದೆ. ಇದು ಯಾವುದೇ ಪ್ರಮಾಣದ ವಸ್ತುಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಶಾಪಿಂಗ್ ಬಾಸ್ಕೆಟ್‌ನಂತೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ.

Source: https://www.geeksforgeeks.org/javascript/functions-in-javascript/ Optional learning community: https://dev.to/annapoo/types-of-functions-in-javascript-105