1.1 কোর্স নির্দেশিকা

আমরা একটি বেসিক নির্দেশিকা ডিজাইন করেছি যা আপনাকে জাভাস্ক্রিপ্টে প্রোগ্রামিং এর মৌলিক বিষয়গুলি জানতে সাহায্য করবে। একবার আপনি এটি শেষ করে ফেললে, আপনি একজন দক্ষ ফ্রন্ট-এন্ড ডেভেলপার হওয়ার দিকে প্রথম পদক্ষেপ গ্রহণ করবেন। আপনি কি আমাদের সাথে জাভাস্ক্রিপ্ট শিখতে প্রস্তুত? তাহলে চলুন শুরু করা যাক।

1. Course Introduction
          1.1.  কোর্স নির্দেশিকা
          1.2.  Environment সেটআপ

2. JavaScript Fundamentals
          2.1. কম্পাইলার এবং ইন্টারপ্রেটার
          2.2.  জাস্ট ইন টাইম (JIT) কম্পাইলার
          2.3. জাভাস্ক্রিপ্ট ইঞ্জিন
          2.4.  কম্পাইলিং বনাম পলিফিলিং
          2.5.  এক্সিকিউশন কনটেক্সট
          2.6.  জাভাস্ক্রিপ্টে স্কোপ
          2.7.  জাভাস্ক্রিপ্টে হইস্টিং
          2.8.  জাভাস্ক্রিপ্টে ক্লোজার
          2.9.  কল ব্যাক এবং হায়ার অর্ডার ফাংশন কি ?
          2.10.  দিস (this) কিওয়ার্ড
          2.11.  কল বাই ভ্যালু এবং কল বাই রেফারেন্স
          2.12.  IIFE
          2.13.  পিওর ফাংশন (Pure Function)
          2.14.  জাভাস্ক্রিপ্টে Use Strict
          2.15.  Call, Bind এবং Apply
          2.16. অ্যারে এবং অ্যারে মেথডস

3. Introduction to DOM
          3.1.  উইন্ডো এবং ডকুমেন্ট অবজেক্ট
          3.2.  বেসিক এবং Query সিলেক্টর্স
          3.3.  getElement এবং Query সিলেক্টর্স এর পার্থক্য
          3.4.  কিভাবে DOM elements ট্রাভের্স এবং তৈরী করবেন?
          3.5.  How to insert the created elements?
          3.6.  আপডেট এবং রিমুভ DOM element
          3.7.  How to clone a node including its child elements?
          3.8.  Event capturing এবং bubbling এর পার্থক্য
          3.9.  Events Delegation এবং  Propagation এর পার্থক্য
          3.10. ইনপুট এলিমেন্ট এবং ইভেন্ট হ্যান্ডলিং
          3.11. হ্যান্ডেল এবং ভ্যালিডেট ফর্ম  ডাটা

4. Client Storage
          4.1. কুকিজ
          4.2. লোকাল স্টোরেজ
          4.3. সেশন স্টোরেজ

5. Asynchronous in JavaScript
          5.1. অ্যাসিঙ্ক্রোনাস জাভাস্ক্রিপ্ট কি ?
          5.2. কিভাবে অ্যাসিঙ্ক্রোনাস জাভাস্ক্ৰিপ্ট হ্যান্ডেল করবেন?
          5.3. AJAX
          5.4. Event loop (ইভেন্ট লুপ) কি?

6. Error handling in JavaScript
          6.1.  জাভাস্ক্রিপ্টের এরর হ্যান্ডেল
          6.2.  কন্ডিশন দিয়ে এরর হ্যান্ডেলিং
          6.3.  Try-Catch-Finally দিয়ে এরর হ্যান্ডলিং
          6.4.  জাভাস্ক্রিপ্টের এরর কিভাবে থ্রোও করব?

7. জাভাস্ক্রিপ্টে OOP পরিচিতি
          7.1.  জাভাস্ক্রিপ্টে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং কি?
          7.2.  অবজেক্ট প্রপার্টি এবং মেথড
          7.3.  জাভাস্ক্রিপ্টে ক্লাস কি?
          7.4.  Factory Pattern ব্যবহার করে ক্লাস তৈরি করা
          7.5.  Constructor Pattern ব্যবহার করে জাভাস্ক্রিপ্টের ক্লাস তৈরি
          7.6.  new কীওয়ার্ড কি? এটা কীভাবে কাজ করে?
          7.7.  জাভাস্ক্রিপ্টে Abstraction
          7.8.  জাভাস্ক্রিপ্টে প্রাইভেট প্রোপার্টি হাইড করা
          7.9.  জাভাস্ক্রিপ্টে পলিমরফিজম
          7.10.  কীভাবে জাভাস্ক্রিপ্টে Getter এবং Setter ইউজ করতে হয়?
          7.11.  জাভাস্ক্রিপ্টে প্রোটোটাইপ এবং প্রটোটপিক্যাল ইনহেরিট্যান্স
          7.12.  জাভাস্ক্রিপ্টে মাল্টি লেভেল ইনহেরিট্যান্স

8. Introduce ES6 to ES10
          8.1.  ES6 এবং টুলিং কি ?
          8.2.  Let, Const, Literals এবং Destructuring
          8.3.  Spread Operator, rest এবং Default Parameter
          8.4.  অ্যারো ফাংশন
          8.5.  find, fill
          8.6.  for of এবং for in
          8.7.  Class (ক্লাস)
          8.8.  Symbols (সিম্বলস)
          8.9.  Iterators and Generators (ইটারেটর এবং জেনেরেটর)
          8.10.  Promises এবং async/await
          8.11.  Maps (ম্যাপ) এবং Sets (সেট)
          8.12.  Proxies এবং Reflection
          8.13.  Number (নাম্বার) এবং Math (ম্যাথ)
          8.14.  Array এবং  Object (অবজেক্ট)
          8.15.  Modules (মডিউল) এবং String Padding
          8.16.  Exponential Operator এবং Trailing Comma
          8.17.  Object.keys(), Object.values() and Object.entries()
          8.18.  Array.prototype.includes()
          8.19.  Array.flat() and Array.flatMap()
          8.20.  Global This
          8.21.  Optional chaining and Nullish Coalescing Operator