Object তৈরি ও Access
// Object Literal (সবচেয়ে জনপ্রিয়)
let person = {
firstName: "করিম",
lastName: "আহমেদ",
age: 25,
email: "karim@example.com",
hobbies: ["পড়া", "ভ্রমণ"],
// Method (function property)
greet: function() {
return `হ্যালো, আমি ${this.firstName}`;
},
// ES6 shorthand
introduce() {
return `আমি ${this.firstName}, বয়স ${this.age}`;
}
};
// Access
person.firstName // "করিম"
person["firstName"] // একই
person.greet() // "হ্যালো, আমি করিম"
// যোগ/পরিবর্তন
person.phone = "01712345678";
person.age = 26;
// Delete
delete person.email;
Object Methods
Object.keys(person) // ["firstName", "lastName", ...]
Object.values(person) // ["করিম", "আহমেদ", ...]
Object.entries(person) // [["firstName","করিম"], ...]
// Loop
for (let key in person) {
console.log(key, ":", person[key]);
}
Object.entries(person).forEach(([key, val]) => {
console.log(key, val);
});
// Merge
let a = { x: 1, y: 2 };
let b = { y: 3, z: 4 };
let merged = Object.assign({}, a, b); // { x:1, y:3, z:4 }
let merged2 = { ...a, ...b }; // একই
// Copy
let clone = { ...person }; // shallow copy
let deep = JSON.parse(JSON.stringify(person)); // deep copy
// Freeze (read-only)
Object.freeze(person);
person.age = 30; // ❌ কাজ হবে না
Destructuring
let { firstName, age } = person;
console.log(firstName, age);
// Rename
let { firstName: name } = person;
// Default value
let { country = "Bangladesh" } = person;
// Nested
let user = {
name: "করিম",
address: { city: "ঢাকা", zip: "1212" }
};
let { address: { city } } = user; // city = "ঢাকা"
// Function এ
function printUser({ firstName, age }) {
console.log(`${firstName}, ${age}`);
}
printUser(person);
this Keyword
let obj = {
name: "করিম",
greet: function() {
console.log(this.name); // "করিম"
},
greetArrow: () => {
console.log(this.name); // undefined (arrow-এ this নেই!)
}
};
JSON (JavaScript Object Notation)
let person = { name: "করিম", age: 25 };
// Object → JSON string
let json = JSON.stringify(person);
// '{"name":"করিম","age":25}'
// JSON string → Object
let obj = JSON.parse(json);
console.log(obj.name); // "করিম"