𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗕𝗮𝘀𝗶𝗰𝘀: 𝗖𝗮𝗹𝗹𝗯𝗮𝗰𝗸𝘀, 𝗢𝗯𝗷𝗲𝗰𝘁𝘀, 𝗮𝗻𝗱 𝗘𝘅𝗲𝗰𝘂𝘁𝗶𝗼𝗻
JavaScript দুইভাবে চলে: synchronous এবং asynchronous।
Synchronous কোড লাইন বাই লাইন চলে। ইঞ্জিন একটি কাজ শেষ করার পর পরবর্তী কাজ শুরু করে। এটি পরবর্তী কাজ চলা থেকে বাধা দেয় (blocks)।
Asynchronous কোড কাজগুলোকে স্বাধীনভাবে চলতে দেয়। আপনি একটি কাজ শুরু করে সেটি সম্পন্ন হওয়ার অপেক্ষায় না থেকে পরবর্তী কাজে চলে যেতে পারেন। এটি ওয়েব অ্যাপের পারফরম্যান্স উন্নত করে।
মূল asynchronous ধারণাগুলো: • Callbacks: অন্য ফাংশনের মধ্যে পাস করা ফাংশন যা পরে রান করার জন্য রাখা হয়। • Promises: একটি অপারেশনের ফলাফল প্রকাশকারী অবজেক্ট। • Async/Await: asynchronous কোড সহজে পড়ার উপযোগী করার জন্য আধুনিক সিনট্যাক্স। • Event Loop: যে সিস্টেমটি টাস্ক এক্সিকিউশন পরিচালনা করে।
Processes এবং Threads সম্পর্কে ধারণা
একটি Process হলো একটি চলমান প্রোগ্রাম। • Processes গুলো বিচ্ছিন্ন (isolated)। • তারা মেমরি শেয়ার করে না। • একটি Process চাইল্ড প্রসেস (child processes) তৈরি করতে পারে। • এগুলো শেষ হতে (terminate) বেশি সময় নেয়।
একটি Thread হলো একটি Process-এর অংশ। • একটি Process-এর অনেকগুলো Thread থাকতে পারে। • Threads মেমরি শেয়ার করে। • এগুলো শেষ হতে (terminate) কম সময় নেয়।
Callback Function কী?
একটি Callback হলো একটি ফাংশন যা আর্গুমেন্ট হিসেবে পাস করা হয়। বাইরের ফাংশনটি একটি কাজ সম্পন্ন করার জন্য এটিকে কল করে। নিচের ক্ষেত্রে Callbacks ব্যবহার করুন: • ডেটা ফেচিং (fetching data)-এর মতো asynchronous কাজ। • বাটন ক্লিকের মতো Event handling। • পুনরায় ব্যবহারযোগ্য (reusable) কোড তৈরি করতে।
JavaScript Objects
একটি Object কি-ভ্যালু পেয়ার (key-value pairs) হিসেবে ডেটা সংরক্ষণ করে। Key দিয়ে Value-কে শনাক্ত করা হয়। Value হতে পারে primitive, অন্য কোনো object, অথবা function।
আপনি দুইভাবে Object তৈরি করতে পারেন:
১. Object Literals: প্রপার্টি ডিফাইন করতে কার্লি ব্র্যাকেট ({}) ব্যবহার করুন।
উদাহরণ: let user = {name: "Sourav", age: 23};
২. Object Constructor: new Object() কমান্ড ব্যবহার করুন।
উদাহরণ: let user = new Object();
Objects হলো mutable। আপনি যেকোনো সময় প্রপার্টি যোগ, পরিবর্তন বা মুছে ফেলতে পারেন। এটি সম্পর্কিত ডেটাগুলোকে একত্রে গ্রুপ করতে সাহায্য করে।