CoffeeScript, JavaScript-এ ফাংশন ডিফাইন করার প্রক্রিয়াটি সহজ এবং সংক্ষিপ্ত করে। CoffeeScript-এ ফাংশন ডিফাইনেশন এবং অ্যারো ফাংশন (Arrow Functions) দুটি বিশেষ বৈশিষ্ট্য রয়েছে, যা কোড লেখাকে আরও দ্রুত এবং পরিষ্কার করে।
ফাংশনস (Functions) in CoffeeScript
CoffeeScript-এ ফাংশন ডিফাইন করার জন্য আপনি -> (শর্টহ্যান্ড সিনট্যাক্স) ব্যবহার করেন। এর মাধ্যমে আপনি সহজে ফাংশন তৈরি করতে পারেন। সাধারণ ফাংশন ডিফাইনেশন CoffeeScript-এ যেমন সহজ, তেমনি এটি JavaScript কোডে কম্পাইল হওয়ার সময়ও কার্যকরী হয়।
সাধারণ ফাংশন (Normal Function) ডিফাইনেশন
add = (a, b) -> a + b
console.log add(5, 10) # আউটপুট: 15
এখানে -> দ্বারা ফাংশন তৈরি করা হয়েছে। a এবং b হল প্যারামিটার, এবং a + b হল ফাংশনের রিটার্ন ভ্যালু।
JavaScript-এ কম্পাইল হওয়া কোড:
var add;
add = function(a, b) {
return a + b;
};
console.log(add(5, 10)); // আউটপুট: 15
অ্যারো ফাংশনস (Arrow Functions) in CoffeeScript
CoffeeScript-এ অ্যারো ফাংশনস তৈরি করা অনেক সহজ। এটি JavaScript-এ ES6 অ্যারো ফাংশন সমতুল্য এবং আরও সংক্ষিপ্ত। অ্যারো ফাংশন ব্যবহার করার জন্য CoffeeScript-এ => সিম্বল ব্যবহার করা হয়।
অ্যারো ফাংশন ডিফাইনেশন
multiply = (a, b) => a * b
console.log multiply(4, 5) # আউটপুট: 20
এখানে => দিয়ে ফাংশনটি ডিফাইন করা হয়েছে, এবং এটি শুধুমাত্র একটি এক্সপ্রেশন রিটার্ন করে। CoffeeScript নিজেই এটি সঠিকভাবে JavaScript-এ রূপান্তরিত করে।
JavaScript-এ কম্পাইল হওয়া কোড:
var multiply;
multiply = function(a, b) {
return a * b;
};
console.log(multiply(4, 5)); // আউটপুট: 20
CoffeeScript-এ অ্যারো ফাংশনস-এর সুবিধা
- সংক্ষিপ্ত সিনট্যাক্স: CoffeeScript-এর অ্যারো ফাংশনস JavaScript-এ ES6-এর অ্যারো ফাংশনগুলির মতো সংক্ষিপ্ত, এবং এগুলি কোড লেখা সহজ করে।
thisবাইন্ডিং: CoffeeScript-এর অ্যারো ফাংশনস সাধারণ ফাংশনের তুলনায়thisবাইন্ডিং আরও সহজ এবং সঠিকভাবে কাজ করে। সাধারণ ফাংশনেthisব্যবহার করলে কনটেক্সটের সমস্যা হতে পারে, কিন্তু অ্যারো ফাংশন এই সমস্যাগুলো এড়িয়ে যায়।
উদাহরণ (এখানে this ব্যবহৃত):
person =
name: "Alice"
greet: -> console.log "Hello, #{@name}"
person.greet() # আউটপুট: "Hello, Alice"
এখানে greet ফাংশন একটি অ্যারো ফাংশন হিসেবে লেখা হয়েছে, যা this কনটেক্সট ঠিকভাবে রেফারেন্স করে। এটি JavaScript-এ সঠিকভাবে কম্পাইল হয়।
JavaScript-এ কম্পাইল হওয়া কোড:
var person;
person = {
name: "Alice",
greet: function() {
return console.log("Hello, " + this.name);
}
};
person.greet(); // আউটপুট: "Hello, Alice"
CoffeeScript-এ ফাংশন ডিফাইনেশন (সামগ্রিকভাবে)
CoffeeScript-এ ফাংশন ডিফাইনেশন দুটি প্রধান পদ্ধতিতে করা হয়:
- স্বাভাবিক ফাংশন ডিফাইনেশন (Normal Function)
- এটি সাধারণভাবে
->ব্যবহার করে ফাংশন তৈরি করে।
- এটি সাধারণভাবে
- এ্যারো ফাংশন ডিফাইনেশন (Arrow Function)
=>ব্যবহার করে এবং এটি কোডকে আরও সংক্ষিপ্ত ও কার্যকরী করে তোলে, বিশেষ করে যখন আপনি এক্সপ্রেশন রিটার্ন করতে চান।
সারাংশ
CoffeeScript-এর ফাংশন ডিফাইনেশন এবং অ্যারো ফাংশন ব্যবহারে JavaScript-এর তুলনায় আরও সহজ এবং পরিষ্কার সিনট্যাক্স প্রদান করে। এটি কোড লেখার সময় উন্নত অভিজ্ঞতা প্রদান করে, বিশেষত যখন আপনি এক্সপ্রেশন রিটার্ন করতে চান বা this কনটেক্সট ব্যবহারে কোনও সমস্যা এড়াতে চান। CoffeeScript-এ ফাংশনগুলি দ্রুত এবং কার্যকরীভাবে কাজ করে, এবং অ্যারো ফাংশন আরও সংক্ষিপ্ত এবং সহজ কোড লেখার সুযোগ দেয়।
CoffeeScript-এ ফাংশন তৈরি এবং ব্যবহার করার প্রক্রিয়া JavaScript-এর তুলনায় আরও সংক্ষিপ্ত এবং সহজ। এখানে CoffeeScript-এ ফাংশন তৈরি, ব্যবহার এবং কিছু সাধারণ উদাহরণ বিস্তারিতভাবে আলোচনা করা হলো।
CoffeeScript-এ ফাংশন তৈরি
১. ফাংশন তৈরি করা -> ব্যবহার করে
CoffeeScript-এ ফাংশন তৈরি করতে -> চিহ্ন ব্যবহার করা হয়। এটি JavaScript-এর function কীওয়ার্ডের একটি সংক্ষিপ্ত রূপ।
উদাহরণ:
square = (x) -> x * x
console.log square(5) # 25
কম্পাইল হওয়া JavaScript:
var square;
square = function(x) {
return x * x;
};
console.log(square(5)); // 25
CoffeeScript-এ ফাংশনের প্যারামিটার
ফাংশনের প্যারামিটার হিসেবে এক বা একাধিক মান গ্রহণ করা সম্ভব। CoffeeScript-এ আপনি ফাংশন প্যারামিটার ডিফল্ট মানও নির্ধারণ করতে পারেন।
১. ডিফল্ট প্যারামিটার
CoffeeScript-এ ফাংশনের প্যারামিটার ডিফল্ট মান নির্ধারণ করা যায়, যা JavaScript-এর মতোই।
উদাহরণ:
greet = (name = "Guest") -> console.log "Hello, #{name}!"
greet("Alice") # Hello, Alice!
greet() # Hello, Guest!
কম্পাইল হওয়া JavaScript:
var greet;
greet = function(name) {
if (name == null) {
name = "Guest";
}
return console.log("Hello, " + name + "!");
};
greet("Alice"); // Hello, Alice!
greet(); // Hello, Guest!
CoffeeScript-এ অ্যারো ফাংশন (Fat Arrow Functions)
CoffeeScript-এ => ব্যবহার করে আপনি অ্যারো ফাংশনও তৈরি করতে পারেন। এটি JavaScript-এর ES6 অ্যারো ফাংশনের মতোই কাজ করে, যেখানে this সংক্রান্ত সমস্যা সমাধান হয়।
উদাহরণ:
names = ["Alice", "Bob", "Charlie"]
names.forEach (name) => console.log name
কম্পাইল হওয়া JavaScript:
var names;
names = ["Alice", "Bob", "Charlie"];
names.forEach(function(name) {
return console.log(name);
});
এখানে => ব্যবহারের ফলে ফাংশনটি this বাইন্ডিং হ্যান্ডলিং করার সুবিধা দেয়, যা JavaScript অ্যারো ফাংশনগুলোতে ব্যবহৃত হয়।
ফাংশন আর্গুমেন্টের সাথে কাজ করা
CoffeeScript-এ ফাংশন আর্গুমেন্টের সাথে কাজ করা সহজ। একটি ফাংশনে একাধিক প্যারামিটার পাঠানো, অথবা প্যারামিটারগুলোর উপর অপারেশন করা সহজ।
উদাহরণ:
add = (a, b) -> a + b
console.log add(2, 3) # 5
কম্পাইল হওয়া JavaScript:
var add;
add = function(a, b) {
return a + b;
};
console.log(add(2, 3)); // 5
CoffeeScript-এ ফাংশনকে ভেরিয়েবল হিসেবে ব্যবহার করা
CoffeeScript-এ ফাংশনকে ভেরিয়েবল হিসেবে ব্যবহার করা যেতে পারে এবং অন্য ফাংশনে পাঠানো যেতে পারে।
উদাহরণ:
multiply = (x, y) -> x * y
operate = (a, b, fn) -> fn(a, b)
result = operate(2, 3, multiply)
console.log result # 6
কম্পাইল হওয়া JavaScript:
var multiply, operate, result;
multiply = function(x, y) {
return x * y;
};
operate = function(a, b, fn) {
return fn(a, b);
};
result = operate(2, 3, multiply);
console.log(result); // 6
সারাংশ
CoffeeScript-এ ফাংশন তৈরি এবং ব্যবহার করা JavaScript-এর তুলনায় অনেক সহজ এবং সংক্ষিপ্ত। CoffeeScript স্বয়ংক্রিয়ভাবে JavaScript-এ ফাংশন রূপান্তরিত করে এবং এতে ডিফল্ট প্যারামিটার, অ্যারো ফাংশন (fat arrow functions) এবং ভেরিয়েবল হিসেবে ফাংশন ব্যবহারের সুবিধা পাওয়া যায়। CoffeeScript-এ ফাংশন লেখার এই পদ্ধতিগুলো ডেভেলপারদের আরও দ্রুত এবং কার্যকর কোডিং করার সুযোগ দেয়।
CoffeeScript-এ ফাংশনের প্যারামিটারগুলোর জন্য ডিফল্ট মান (default value) ব্যবহার করা খুবই সহজ। আপনি যদি কোনো প্যারামিটার মান না পাঠান, তবে CoffeeScript সেই প্যারামিটারকে একটি ডিফল্ট মান দিয়ে প্রতিস্থাপন করবে। এটি JavaScript-এ = (equal sign) অপারেটর ব্যবহার করে করা হয়, যা কোড লেখাকে আরও পরিষ্কার এবং সহজ করে।
ডিফল্ট প্যারামিটার ব্যবহারের পদ্ধতি
উদাহরণ:
ধরা যাক, আপনি একটি ফাংশন তৈরি করতে চান যেখানে প্যারামিটারগুলোর জন্য ডিফল্ট মান থাকবে। আপনি যদি প্যারামিটার প্রদান না করেন, তাহলে ডিফল্ট মান ব্যবহার হবে।
greet = (name = "Guest") ->
console.log "Hello, #{name}!"
এই ফাংশনে, name প্যারামিটারটির ডিফল্ট মান "Guest" হবে। যদি আপনি ফাংশন কল করার সময় কোনো মান না পাঠান, তবে "Guest" ব্যবহার হবে।
ফাংশন কল:
greet() # আউটপুট: Hello, Guest!
greet("Alice") # আউটপুট: Hello, Alice!
CoffeeScript-এ ডিফল্ট প্যারামিটার ব্যবহার করার সুবিধা
- কোডের সরলতা: ডিফল্ট প্যারামিটার ব্যবহার করার মাধ্যমে কোড সংক্ষিপ্ত এবং পরিষ্কার হয়, কারণ আপনাকে আলাদা করে
ifশর্ত বা চেকিং কোড লিখতে হয় না। - কোড পুনরায় ব্যবহারযোগ্যতা: ফাংশনটি স্বয়ংক্রিয়ভাবে একটি ডিফল্ট মান গ্রহণ করে, যা বিভিন্ন সিচুয়েশনে পুনরায় ব্যবহার করা সহজ করে।
- সহজ ডিবাগিং: ফাংশনের ডিফল্ট প্যারামিটার ব্যবহারের ফলে কোডের লজিক আরও স্পষ্ট থাকে, ফলে ডিবাগিং সহজ হয়।
একটি আরও জটিল উদাহরণ
ধরা যাক, আপনি একটি ফাংশন তৈরি করেছেন যা দুটি সংখ্যার যোগফল নির্ণয় করবে এবং একটি ডিফল্ট প্যারামিটার হিসেবে 0 ব্যবহার করবে যদি কোনো সংখ্যা না দেয়া হয়।
add = (a = 0, b = 0) ->
return a + b
ফাংশন কল:
console.log add() # আউটপুট: 0
console.log add(5) # আউটপুট: 5
console.log add(5, 10) # আউটপুট: 15
এখানে, আপনি যদি কোনো প্যারামিটার না দেন, তবে a এবং b এর ডিফল্ট মান 0 ব্যবহার করা হবে।
CoffeeScript-এ ফাংশনে ডিফল্ট প্যারামিটার ব্যবহারের সুবিধা
- ডিফল্ট মানের সাথে কোড লেখা সহজ হয়, বিশেষ করে যদি ফাংশনে অনেক প্যারামিটার থাকে।
- ফাংশনগুলির ব্যবহার আরও নমনীয় এবং কার্যকরী হয়, কারণ আপনি প্রয়োজন অনুযায়ী প্যারামিটার প্রদান বা না দিয়েও ফাংশন ব্যবহার করতে পারেন।
- কোড কমপ্লেক্সিটি কমে কারণ আপনি শর্তের উপর নির্ভরশীল কোড লিখতে বাধ্য হন না।
সারাংশ
CoffeeScript-এ ফাংশনের ডিফল্ট প্যারামিটার ব্যবহার করা খুবই সহজ এবং এটি JavaScript-এ এর সমান কাজ করে। = (equal sign) ব্যবহার করে প্যারামিটারের জন্য ডিফল্ট মান নির্ধারণ করা যায়। এটি কোড লেখার সময় আরও পরিষ্কারতা এবং কার্যকারিতা এনে দেয়, বিশেষত যখন আপনি ফাংশনে কিছু প্যারামিটার দিতে চান কিন্তু কিছু প্যারামিটার ডিফল্ট মান সহ ব্যবহার করতে চান।
CoffeeScript-এ অ্যারো ফাংশন (Fat Arrow) একটি শক্তিশালী বৈশিষ্ট্য যা সাধারণ JavaScript ফাংশন ডিক্লারেশনকে আরও সহজ, সংক্ষিপ্ত এবং পাঠযোগ্য করে তোলে। এটি JavaScript-এর => (fat arrow) সিনট্যাক্স থেকে এসেছে। অ্যারো ফাংশন ব্যবহার করে আপনি একটি ফাংশন সংজ্ঞায়িত করতে পারেন, যা বিশেষত this কিভাবে কাজ করে তা নিয়ন্ত্রণ করতে সহায়ক।
অ্যারো ফাংশন (Fat Arrow) কী?
CoffeeScript-এ অ্যারো ফাংশন => ব্যবহার করে ফাংশন ডিফাইন করা হয়। এটি JavaScript এর function() এর পরিবর্তে ব্যবহৃত হয় এবং এটি একটি বিশেষ বৈশিষ্ট্য, যা মূলত this এর ব্যবহারকে সহজ করে তোলে।
সাধারণ ফাংশন ডিক্লারেশন (JavaScript):
var add = function(a, b) {
return a + b;
};
অ্যারো ফাংশন (CoffeeScript):
add = (a, b) => a + b
অর্থাৎ, CoffeeScript-এ অ্যারো ফাংশন কোডের পরিমাণ কমিয়ে দেয় এবং পাঠযোগ্যতা বাড়ায়।
CoffeeScript-এ অ্যারো ফাংশনের ব্যবহার
১. এইচটিএমএল ইভেন্ট হ্যান্ডলার
JavaScript-এ ইভেন্ট হ্যান্ডলারে this ব্যবহারের কিছু জটিলতা থাকে। CoffeeScript-এর অ্যারো ফাংশন this কে অটোমেটিকভাবে বাইন্ড করে দেয়, যা জটিলতাকে দূর করে।
button = document.getElementById("myButton")
button.onclick = =>
console.log "Button clicked!"
console.log this # এখানে 'this' সঠিকভাবে কাজ করবে
এখানে, this অ্যারো ফাংশনের মাধ্যমে ঠিকভাবে বাইন্ড হবে এবং আপনি ইভেন্ট হ্যান্ডলার ফাংশনের ভিতরে সঠিক this এক্সেস করতে পারবেন।
২. ফাংশন কলের মধ্যে this রেফারেন্স
ফাংশনের ভিতরে this কীভাবে কাজ করবে, এটি => দ্বারা নিয়ন্ত্রণ করা যায়। এটি কোডকে আরও পরিষ্কার এবং ত্রুটিহীন করে তোলে।
Person = ->
@name = "Alice"
@sayHello = =>
console.log "Hello, #{@name}"
p = new Person()
p.sayHello() # Hello, Alice
এখানে @name এবং @sayHello CoffeeScript এর বিশেষ সিনট্যাক্স যা this.name এবং this.sayHello এ রূপান্তরিত হয়, এবং অ্যারো ফাংশন ব্যবহার করে this কে সঠিকভাবে বাইন্ড করা হয়।
৩. এ্যারো ফাংশন ব্যবহার করে কলব্যাক ফাংশন
কোনো অ্যাসিনক্রোনাস অপারেশন বা কলব্যাক ফাংশন ব্যবহারে অ্যারো ফাংশন সুবিধাজনক। এটি this কে সঠিকভাবে বাইন্ড করতে সাহায্য করে।
setTimeout =>
console.log "Hello after 1 second"
, 1000
এখানে this এর কোনো সমস্যা হবে না, কারণ অ্যারো ফাংশন ব্যবহার করা হয়েছে।
অ্যারো ফাংশনের সুবিধা
১. this সংক্রান্ত সমস্যা দূর করা
JavaScript-এ সাধারণ ফাংশন ব্যবহার করলে this এর মান পরিস্থিতি অনুযায়ী পরিবর্তিত হয়। অ্যারো ফাংশন এই সমস্যা সমাধান করে, কারণ এটি স্বয়ংক্রিয়ভাবে this কে বাইন্ড করে।
২. কোড কমানো
এ্যারো ফাংশন ব্যবহারে কোড কম হয়। একটি সাধারণ ফাংশন লিখতে যতটা কোড লাগে, অ্যারো ফাংশনে তা কমিয়ে আনা যায়।
৩. পাঠযোগ্যতা বাড়ানো
এ্যারো ফাংশন কোডের পাঠযোগ্যতা বাড়ায়, কারণ এতে কোনো ফাংশন ডিক্লারেশন, function কিওয়ার্ড বা return স্টেটমেন্টের প্রয়োজন হয় না।
উদাহরণ: CoffeeScript-এ অ্যারো ফাংশন
উদাহরণ ১: সাধারণ অ্যারো ফাংশন
add = (a, b) => a + b
console.log add(2, 3) # 5
উদাহরণ ২: এইচটিএমএল ইভেন্ট হ্যান্ডলার
button = document.getElementById("myButton")
button.onclick = =>
console.log "Button clicked!"
উদাহরণ ৩: অ্যাসিনক্রোনাস ফাংশন
setTimeout =>
console.log "This happens after 2 seconds"
, 2000
JavaScript-এ অ্যারো ফাংশন (Fat Arrow)
CoffeeScript থেকে JavaScript রূপান্তর:
CoffeeScript-এ লেখা অ্যারো ফাংশন JavaScript-এ কম্পাইল হওয়ার পর এইভাবে দেখাবে:
var add;
add = function(a, b) {
return a + b;
};
যদি CoffeeScript-এ অ্যারো ফাংশন লেখা হয়, তাহলে JavaScript-এ কম্পাইল হলে এটি function() এর মতো ফাংশন তৈরি করে, তবে this এর ব্যবহার আরও নির্ভুল এবং সুগম হয়।
সারাংশ
CoffeeScript-এ অ্যারো ফাংশন (Fat Arrow =>) একটি অত্যন্ত কার্যকর বৈশিষ্ট্য যা কোড সংক্ষিপ্ত, পাঠযোগ্য এবং কার্যকর করে তোলে। এটি বিশেষ করে this এর সাথে কাজ করার ক্ষেত্রে সুবিধাজনক, কারণ এটি স্বয়ংক্রিয়ভাবে this কে বাইন্ড করে। কোডের জটিলতা কমাতে এবং পড়তে সহজ করতে অ্যারো ফাংশন একটি শক্তিশালী টুল।
CoffeeScript-এ অ্যনোনিমাস ফাংশন এবং কলব্যাক ব্যবহারের ধারণা JavaScript-এর মতোই, তবে CoffeeScript এর সিনট্যাক্স অনেক সহজ এবং সংক্ষিপ্ত। অ্যনোনিমাস ফাংশন এবং কলব্যাক ফাংশন ব্যবহার করে আপনি কার্যকরী এবং পঠনযোগ্য কোড লিখতে পারবেন।
অ্যনোনিমাস ফাংশন (Anonymous Functions)
অ্যনোনিমাস ফাংশন হলো সেই সব ফাংশন যেগুলোর কোনো নাম থাকে না। এগুলো সাধারণত কোনো নির্দিষ্ট কাজ সম্পাদন করার জন্য ব্যবহার করা হয় এবং সাধারণত অন্য ফাংশন বা মেথডে পাস করা হয়।
CoffeeScript-এ অ্যনোনিমাস ফাংশন ঘোষণা করতে -> বা => (অ্যারো ফাংশন) ব্যবহার করা হয়।
উদাহরণ:
# সাধারণ অ্যনোনিমাস ফাংশন
multiply = (a, b) -> a * b
console.log multiply(5, 6) # 30
কম্পাইল হওয়া JavaScript:
var multiply;
multiply = function(a, b) {
return a * b;
};
console.log(multiply(5, 6)); // 30
কলব্যাক (Callback Functions)
কলব্যাক ফাংশন হলো একটি ফাংশন যা অন্য একটি ফাংশনের আর্গুমেন্ট হিসেবে পাস করা হয় এবং প্রথম ফাংশনটি সম্পূর্ণ হলে কলব্যাকটি রান হয়। CoffeeScript-এ কলব্যাক ফাংশন খুব সহজে ব্যবহার করা যায়।
উদাহরণ: অ্যাসিঙ্ক্রোনাস কলব্যাক ফাংশন
ধরা যাক, আপনি একটি সিমুলেটেড অ্যাসিঙ্ক্রোনাস কাজ করছেন যেখানে প্রথমে একটি ফাংশন রান হবে এবং তারপর একটি কলব্যাক ফাংশন চালু হবে।
processData = (data, callback) ->
console.log "Processing data: #{data}"
callback() # কলব্যাক কল করা হচ্ছে
done = -> console.log "Data processed successfully!"
processData("User Info", done)
কম্পাইল হওয়া JavaScript:
var processData, done;
processData = function(data, callback) {
console.log("Processing data: " + data);
return callback(); // কলব্যাক কল করা হচ্ছে
};
done = function() {
return console.log("Data processed successfully!");
};
processData("User Info", done);
এই কোডে processData ফাংশন একটি ডাটা প্রক্রিয়া করে এবং পরে কলব্যাক ফাংশন done কল করা হয়।
অ্যারো ফাংশন (Arrow Functions)
CoffeeScript-এ অ্যারো ফাংশন => ব্যবহার করে লেখা হয়, যা this বাইন্ডিং-কে সহজ করে তোলে এবং কোড আরও কমপ্যাক্ট করে।
উদাহরণ:
numbers = [1, 2, 3, 4, 5]
# অ্যারো ফাংশন ব্যবহার করে কলব্যাক
squaredNumbers = numbers.map (num) -> num * num
console.log squaredNumbers # [1, 4, 9, 16, 25]
কম্পাইল হওয়া JavaScript:
var numbers, squaredNumbers;
numbers = [1, 2, 3, 4, 5];
squaredNumbers = numbers.map(function(num) {
return num * num;
});
console.log(squaredNumbers); // [1, 4, 9, 16, 25]
এখানে, map মেথডের মধ্যে একটি অ্যারো ফাংশন কলব্যাক হিসেবে ব্যবহার করা হয়েছে, যা প্রতিটি সংখ্যার বর্গফল গণনা করে।
কলব্যাক ফাংশন এবং অ্যাসিঙ্ক্রোনাস কোড
CoffeeScript-এ অ্যাসিঙ্ক্রোনাস কলব্যাক ফাংশন ব্যবহার করা সহজ। যেমন, একটি ফাইল পড়ার বা API কল করার জন্য কলব্যাক ব্যবহার করা যেতে পারে।
উদাহরণ: ফাইল রিডিং (ফেক)
readFile = (file, callback) ->
console.log "Reading file: #{file}"
callback("File content loaded")
done = (content) -> console.log content
readFile("data.txt", done)
কম্পাইল হওয়া JavaScript:
var readFile, done;
readFile = function(file, callback) {
console.log("Reading file: " + file);
return callback("File content loaded");
};
done = function(content) {
return console.log(content);
};
readFile("data.txt", done);
এখানে, readFile একটি কলব্যাক ফাংশন গ্রহণ করে যা ফাইলের কনটেন্ট লোড হয়ে গেলে চালানো হয়।
সারাংশ
CoffeeScript-এ অ্যনোনিমাস ফাংশন এবং কলব্যাক ফাংশন ব্যবহারের মাধ্যমে আপনি জটিল এবং অ্যাসিঙ্ক্রোনাস কাজগুলো আরও সহজভাবে করতে পারবেন। অ্যনোনিমাস ফাংশন মূলত ছোট ফাংশন যা অন্য ফাংশনের আর্গুমেন্ট হিসেবে ব্যবহৃত হয়, এবং কলব্যাক ফাংশন একটি ফাংশন যা অন্য একটি ফাংশন সম্পন্ন হওয়ার পরে রান হয়। CoffeeScript-এর সরল সিনট্যাক্স এই কাজগুলো করতে আপনাকে সাহায্য করে, যা JavaScript এর তুলনায় কোডকে আরও পরিষ্কার এবং পঠনযোগ্য করে তোলে।
Read more