JavaScript Object Properties
5 April 2025 | Category: JavaScript
Great! Let’s dive deep into JavaScript Object Properties — explained in a clear and easy way with real examples. 🔍
🧱 What Are JavaScript Object Properties?
In JavaScript, objects are collections of properties, where each property is a key-value pair.
Syntax:
const objectName = {
key: value,
};
Example:
const car = {
brand: "Toyota",
model: "Camry",
year: 2020
};
In this object:
"brand"
,"model"
, and"year"
are properties (keys)"Toyota"
,"Camry"
, and2020
are the values
🛠️ 1. Creating and Accessing Properties
➤ Dot Notation
console.log(car.brand); // Toyota
➤ Bracket Notation
console.log(car["model"]); // Camry
Bracket notation is useful when:
- The property name has spaces:
obj["full name"]
- The property name is stored in a variable
➕ 2. Adding New Properties
car.color = "Black";
car["fuel"] = "Petrol";
✏️ 3. Updating Existing Properties
car.year = 2022;
❌ 4. Deleting Properties
delete car.model;
🔁 5. Looping Through Properties
Using for...in
loop:
for (let key in car) {
console.log(key + ":", car[key]);
}
🧠 6. Property Types
A property can store:
- String
- Number
- Boolean
- Object (nested)
- Array
- Function (called a method)
Example:
const person = {
name: "John",
age: 30,
hobbies: ["reading", "coding"],
address: {
city: "Delhi",
zip: 110001
},
greet: function () {
console.log("Hi, I'm " + this.name);
}
};
🧬 7. Dynamic Property Names
let key = "language";
const dev = {
[key]: "JavaScript"
};
console.log(dev.language); // JavaScript
📦 8. Checking if Property Exists
Using in
operator:
console.log("name" in person); // true
Using hasOwnProperty()
:
console.log(person.hasOwnProperty("age")); // true
📋 9. Get All Property Names and Values
Object.keys(person); // ['name', 'age', 'hobbies', 'address', 'greet']
Object.values(person); // ['John', 30, [...], {...}, function]
Object.entries(person); // [['name', 'John'], ['age', 30], ...]
🧪 10. Property Shorthand
If the variable name and property name are same:
const name = "Dev";
const age = 21;
const user = { name, age }; // same as { name: name, age: age }
🛑 Bonus: Property Descriptors (Advanced)
Every property has hidden settings like:
writable
(can be changed?)enumerable
(will it show in loops?)configurable
(can it be deleted?)
const obj = {};
Object.defineProperty(obj, "secret", {
value: "hidden",
writable: false,
enumerable: false
});
📌 Summary Table
Operation | Example |
---|---|
Access property | obj.key or obj["key"] |
Add property | obj.newKey = value |
Modify property | obj.key = newValue |
Delete property | delete obj.key |
Check if exists | "key" in obj |
List all keys | Object.keys(obj) |
Loop through properties | for (let key in obj) |