Object Basics

Back

Loading concept...

JavaScript Objects: Your Magic Backpack! 🎒

Imagine you have a magic backpack. This backpack can hold anything you want — your name, your age, your favorite snacks, even special powers like “jump really high” or “run super fast.” In JavaScript, this magic backpack is called an Object.

Let’s open our backpack and see what’s inside!


What is an Object? (Object Literals)

An object is like a labeled box with compartments. Each compartment has a name (we call it a key) and something inside (we call it a value).

const myBackpack = {
  color: "blue",
  pockets: 3,
  hasZipper: true
};

Think of it this way:

  • color is a label on a compartment
  • "blue" is what’s inside that compartment
  • The curly braces { } are the backpack walls

This way of creating an object is called an object literal — you literally write it out!

graph TD A["myBackpack Object"] --> B["color: blue"] A --> C["pockets: 3"] A --> D["hasZipper: true"]

Properties and Methods

Objects can hold two types of things:

Properties (Things)

Properties are like the stuff in your backpack — your pencil, your book, your snack.

const pet = {
  name: "Fluffy",
  age: 2,
  type: "cat"
};

Methods (Actions)

Methods are things your backpack can do — like play music or glow in the dark!

const pet = {
  name: "Fluffy",
  age: 2,
  speak: function() {
    return "Meow!";
  }
};

Simple rule:

  • Property = noun (a thing)
  • Method = verb (an action)

Getting Stuff Out: Property Access Notation

You have two ways to reach into your backpack and grab something:

1. Dot Notation (The Easy Way)

Use a period/dot to grab what you need:

const pet = {
  name: "Fluffy",
  age: 2
};

console.log(pet.name);  // "Fluffy"
console.log(pet.age);   // 2

2. Bracket Notation (The Flexible Way)

Use square brackets with the key name in quotes:

console.log(pet["name"]);  // "Fluffy"
console.log(pet["age"]);   // 2

When do you use brackets?

  • When the property name has spaces or special characters
  • When the property name is stored in a variable
const whatIWant = "name";
console.log(pet[whatIWant]);  // "Fluffy"
graph TD A["Access Property"] --> B{Which way?} B --> C["Dot: pet.name"] B --> D["Bracket: pet 'name'"]

Adding and Deleting Properties

Your backpack isn’t stuck forever! You can add new things or throw stuff away.

Adding Properties

Just assign a value to a new key:

const bag = {
  snack: "apple"
};

bag.drink = "water";
bag["toy"] = "yoyo";

console.log(bag);
// { snack: "apple", drink: "water", toy: "yoyo" }

Deleting Properties

Use the delete keyword:

delete bag.snack;

console.log(bag);
// { drink: "water", toy: "yoyo" }

Remember: Adding is like putting something new in your backpack. Deleting is like taking it out and throwing it away!


Property Shorthand

Sometimes you have a variable and want to put it in an object with the same name. JavaScript has a shortcut!

The Long Way:

const name = "Luna";
const age = 5;

const child = {
  name: name,
  age: age
};

The Shortcut (Shorthand):

const name = "Luna";
const age = 5;

const child = { name, age };

console.log(child);
// { name: "Luna", age: 5 }

If the variable name matches the property name, just write it once! JavaScript understands.


Computed Property Names

What if you don’t know the property name until the code runs? Use square brackets around the key!

const key = "favoriteColor";

const person = {
  [key]: "purple"
};

console.log(person);
// { favoriteColor: "purple" }

You can even do math or combine strings:

const prefix = "skill";

const hero = {
  [prefix + "1"]: "flying",
  [prefix + "2"]: "invisibility"
};

console.log(hero);
// { skill1: "flying", skill2: "invisibility" }

Think of it like making labels on-the-fly!


Checking if a Property Exists

Before you look for something in your backpack, you might want to check if it’s actually there!

Method 1: The in Operator

const bag = { snack: "cookie" };

console.log("snack" in bag);   // true
console.log("drink" in bag);   // false

Method 2: Check for undefined

const bag = { snack: "cookie" };

console.log(bag.snack !== undefined);  // true
console.log(bag.drink !== undefined);  // false

Method 3: hasOwnProperty()

const bag = { snack: "cookie" };

console.log(bag.hasOwnProperty("snack"));  // true
console.log(bag.hasOwnProperty("drink"));  // false
graph TD A["Does property exist?"] --> B["in operator"] A --> C["!== undefined"] A --> D["hasOwnProperty"] B --> E["true or false"] C --> E D --> E

Best choice: Use in for most cases. It’s clear and simple!


Quick Summary

Concept Example
Object Literal { name: "Spot" }
Property dog.name
Method dog.bark()
Dot Access dog.name
Bracket Access dog["name"]
Add Property dog.age = 3
Delete Property delete dog.age
Shorthand { name, age }
Computed Name { [key]: value }
Check Existence "name" in dog

You Did It! 🎉

Now you know how to:

  • Create objects (your magic backpack)
  • Store properties and methods inside
  • Get things out with dot or bracket notation
  • Add new things or throw old things away
  • Use shortcuts for faster coding
  • Create dynamic property names
  • Check if something exists before using it

Objects are everywhere in JavaScript. Every button, every user, every game character — they’re all objects! Now you can build your own magic backpacks and fill them with anything you imagine.

Keep exploring, keep coding, keep being awesome! 🚀

Loading story...

Story - Premium Content

Please sign in to view this story and start learning.

Upgrade to Premium to unlock full access to all stories.

Stay Tuned!

Story is coming soon.

Story Preview

Story - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.