(পরিষ্কার সিনট্যাক্স, ভালো স্কোপিং, অ্যারো ফাংশন এবং আরও অনেক কিছুসহ জাভাস্ক্রিপ্টে একটি বড় লাফ)
ES6 (ECMAScript 2015) হলো জাভাস্ক্রিপ্টের একটি বড় আপডেট, যা কোডকে আরও পঠনযোগ্য, রক্ষণাবেক্ষণযোগ্য এবং শক্তিশালী করতে নতুন সিনট্যাক্স ও ফিচার চালু করে।
let name = "John";
name = "Doe"; // অনুমোদিতconst age = 30;
// age = 31; // ❌ এরর: Assignment to constant variablelet এবং const ব্লক-স্কোপড এবং var-এর মতো হয়েস্ট হয় না।
// প্রথাগত ফাংশন
function greet(name) {
return "Hello " + name;
}
// অ্যারো ফাংশন
const greet = name => "Hello " + name;একাধিক লাইন বা প্যারামিটার থাকলে:
const add = (a, b) => {
return a + b;
};const name = "Alice";
console.log(`Hello, ${name}!`); // Hello, Alice!আপনি মাল্টি-লাইন স্ট্রিংও লিখতে পারেন:
const msg = `This is
a multiline
string`;function greet(name = "Guest") {
console.log("Hello " + name);
}
greet(); // Hello Guestconst [a, b] = [1, 2];
console.log(a); // 1const user = { name: "Sam", age: 25 };
const { name, age } = user;const arr1 = [1, 2];
const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]function sum(...nums) {
return nums.reduce((a, b) => a + b, 0);
}const name = "Bob";
const user = {
name,
greet() {
console.log("Hi " + this.name);
}
};const colors = ["red", "green", "blue"];
for (const color of colors) {
console.log(color);
}অবজেক্টের জন্য নয়, অ্যারের সাথে for...of ব্যবহার করুন।
const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => resolve("Data loaded"), 1000);
});
};export const add = (a, b) => a + b;import { add } from './math.js';
console.log(add(2, 3));এর জন্য আপনার HTML স্ক্রিপ্ট ট্যাগে type="module" সেট করা বা একটি বান্ডলার ব্যবহার করা প্রয়োজন।
let, const) শক্তিশালী উন্নতি, পরিষ্কার সিনট্যাক্স (অ্যারো ফাংশন, টেমপ্লেট লিটারেল) এবং আরও অনেক কিছু এনেছে।sum(...args) ফাংশন তৈরি করুন।