Before ES6, we used var. Now we use:
let age = 25; age = 30;
const name = "Milon"; name = "Hasan";
Note: Objects declared with const can still be modified.
const user = { name: "Milon" };
user.name = "Hasan";Shorter way to write functions.
function add(a, b) {
return a + b;
}const add = (a, b) => {
return a + b;
};const add = (a, b) => a + b;
const square = x => x * x;
Use backticks instead of quotes.
const name = "Milon";
const message = `Hello, ${name}! Welcome.`;
console.log(message);Multi-line strings:
const text = ` This is line 1 This is line 2 `;
Extract values from arrays or objects easily.
const numbers = [10, 20, 30]; const [a, b, c] = numbers; console.log(a); // 10
const user = {
name: "Milon",
age: 25
};
const { name, age } = user;Set default value if no argument is passed.
const greet = (name = "Guest") => {
return `Hello ${name}`;
};
console.log(greet()); // Hello GuestUsed to copy or merge arrays/objects.
const arr1 = [1, 2, 3]; const arr2 = [...arr1]; console.log(arr2);
const a = [1, 2]; const b = [3, 4]; const result = [...a, ...b];
const user = { name: "Milon" };
const newUser = { ...user, age: 25 };Collect multiple values into an array.
const sum = (...numbers) => {
return numbers.reduce((total, num) => total + num, 0);
};
console.log(sum(1, 2, 3, 4));ES6 introduced classes (OOP style).
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `Hi, I am ${this.name}`;
}
}
const person1 = new Person("Milon", 25);
console.log(person1.greet());class Student extends Person {
constructor(name, age, subject) {
super(name, age);
this.subject = subject;
}
}Handle asynchronous operations.
const myPromise = new Promise((resolve, reject) => {
let success = true;
if (success) {
resolve("Success!");
} else {
reject("Error!");
}
});
myPromise
.then(result => console.log(result))
.catch(error => console.log(error));Split code into multiple files.
export const name = "Milon"; export const add = (a, b) => a + b;
import { name, add } from './file1.js';
console.log(name);ES6 introduced new built-in structures.
const numbers = new Set([1, 2, 2, 3]); console.log(numbers); // 1,2,3
const user = new Map();
user.set("name", "Milon");
user.set("age", 25);
console.log(user.get("name