Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • JavaScript Documentation48টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • JavaScript কী?
  • Syntax & Comments
  • Variables
  • Data Types: Basics
  • Data Types: Conversion
  • Data Types: Advanced
  • Strings
  • Numbers & Math
  • Date & Time
  • Operators
  • Conditions
  • Loops
  • Functions: Basics
  • Functions: Intermediate
  • Functions: Advanced
  • Scope & Hoisting
  • Closures & this
  • ES6+ Modern
  • Arrays: Basics
  • Arrays: Intermediate
  • Arrays: Advanced
  • Objects: Basics
  • Objects: Intermediate
  • Objects: Advanced
  • Class: Basics
  • Class: Intermediate
  • Class: Advanced
  • DOM: Basics
  • DOM: Intermediate
  • DOM: Advanced
  • Events: Basics
  • Events: Intermediate
  • Events: Advanced
  • Async JavaScript
  • Promise
  • Async / Await
  • Fetch API
  • JSON
  • Modules
  • Browser Storage
  • Event Loop Deep
  • Prototype Chain
  • Iterators & Generators
  • WeakMap, WeakSet, Proxy
  • Error Handling
  • Practice Problems
  • Mini Projects
  • Basics
  • Functions & Scope
  • Types & Syntax
  • Arrays & Objects
  • Advanced
  • Functional Programming
  • Objects & Symbols
  • Async Deep Dive
  • Modern JavaScript
  1. Docs
  2. JavaScript
  3. Modern JavaScript (ES6+)
JavaScriptIntermediate

Modern JavaScript (ES6+)

let/const, arrow, template literal, destructuring, spread/rest, default param, classes, modules, optional chaining — এক জায়গায়।

25টি অংশবাংলা ভাষায়

ES6 (ECMAScript 2015) থেকে আধুনিক JavaScript-এ বহু সুবিধা এসেছে — কোড ছোট, পরিষ্কার ও নিরাপদ হয়েছে। এই অধ্যায়ে সবগুলোকে একসাথে দেখি, যেন এক glance-এ recollection হয়।

let / const

let age = 28;
age = 29;               // let বদলায়

const pi = 3.14;
// pi = 3;             // const বদলায় না

const user = { name: "রহিম" };
user.age = 30;          // object-এর property বদলায় — ঠিক আছে
// user = {};           // reference বদলায় না

Arrow function

const add = (a, b) => a + b;
const double = (x) => x * 2;

console.log(add(2, 3));  // 5
console.log(double(4));  // 8

Template literal

const name = "রহিম";
const age = 28;

const sentence = `আমার নাম ${name}, বয়স ${age}।`;
console.log(sentence); // আমার নাম রহিম, বয়স 28।

Destructuring

// Array
const [first, second] = [10, 20, 30];
console.log(first, second); // 10 20

// Object
const user = { name: "রহিম", age: 28 };
const { name, age } = user;
console.log(name, age); // রহিম 28

// Default
const { city = "ঢাকা" } = user;
console.log(city); // ঢাকা

Spread ও Rest

// Spread — ফেলা
const nums = [3, 4];
const combined = [1, 2, ...nums, 5];
console.log(combined); // [1, 2, 3, 4, 5]

const base = { a: 1, b: 2 };
const copy = { ...base, c: 3 };
console.log(copy); // { a: 1, b: 2, c: 3 }

// Rest — জমানো
function sum(...args) {
  return args.reduce((t, n) => t + n, 0);
}
console.log(sum(1, 2, 3, 4)); // 10

Default parameter

function greet(name = "অতিথি") {
  return `নমস্কার, ${name}!`;
}
console.log(greet());      // নমস্কার, অতিথি!
console.log(greet("রহিম")); // নমস্কার, রহিম!

Optional Chaining ও Nullish

const user = { address: { city: "ঢাকা" } };

console.log(user.address?.city); // ঢাকা
console.log(user.phone?.number); // undefined (crash নয়)

const count = null ?? 10;
const zero = 0 ?? 99;
console.log(count, zero); // 10 0

Classes

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    return `${this.name} শব্দ করছে`;
  }
}

class Dog extends Animal {
  speak() {
    return super.speak() + " — ঘেউ";
  }
}

const dog = new Dog("টমি");
console.log(dog.speak()); // টমি শব্দ করছে — ঘেউ

Modules

import/export দিয়ে কোড ভাগ করা যায় — বিস্তারিত modules অধ্যায়ে। সংক্ষেপে:

// math.js
export function add(a, b) {
  return a + b;
}

export default function multiply(a, b) {
  return a * b;
}

// app.js
import multiply, { add } from "./math.js";

console.log(add(2, 3));       // 5
console.log(multiply(2, 3));   // 6

Promises ও async/await

async function load() {
  const res = await fetch("/api/users");
  const data = await res.json();
  console.log(data);
}

// call
load().catch(console.error);
ফিচারবদলে কী
let/constvar
arrowfunction expression
template literalstring জোড়া (+)
destructuringmanual এর থেকে unpack
spread/restconcat/apply
default param`
optional chaininglong chain check
classconstructor/prototype
spread vs rest বিভ্রান্তি

একই সিনট্যাক্স ... — ব্যবহার অনুযায়ী নাম: array/object ফেলার সময় spread, function parameter-এ জমার সময় rest।

Interview

"ES6 এ কী কী এসেছে?" — এই তালিকাটা বলতে পারলে interviewer-কে চমকে দেওয়া যায়।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরClosures ও thisপরেরJavaScript Arrays: Basics (অ্যারে)
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com