DEV Community

Jamal Majid
Jamal Majid

Posted on

Javascript Object basics

What is an object in JavaScript?

Any thing that is not a js primitive is an object. An object is a collection of keys with there own values or key value pairs. Each value can be of any type.

  • An object is stored in the heap memory. All javascript objects maintain a reference to it, as opposed to a full copy of it. When checking for object equality, it checks the reference - not the actual value of properties making objects mutable.

How do you create and object?

Here are three ways we create an object in javaScript are:

  1. Object literal

    // we are literaly typing out our object. 
    const objectOne = {};
                      👆🏽
    
  2. new Object();

    // use the js new key word to create a new object.
    const objectTwo = new Object();
                          👆🏽
    
  3. Object.create({ })

    // creates a new object from an existing object.
    const objectTwo = Object.create({ });
                                👆🏽
    

    Properties

    • Property is another term used for key value pairs that are stored in an object.
    • Names of properties are unique values that can be coerced to a string not including words like function, var, return. The name or key points to a value.
    • Property values can be of any type. Including functions witch we call methods.

    Manipulating Properties

    Setting properties can be done at two stages.

    • During the creation of our object.
    • After the creation of our object.

    Adding properties during its creation

    • as of ES6 (ECMAScript 6) we can also use a new short hand for setting properties whos value and name are the same.
    // in the creation on this object we are declaring its properties.
     const anime = { 
        title: 'naruto',
        discription: 'an anime about a ninja who is just trying to be hokage',
      isLigit, 'isLigit'
        }
    
        const anime = {
        title: 'naruto',
        discription: 'an anime about a ninja who is just trying to be hokage',
      isLigit // ES6 no need to state the value if it is the same as the key
        }
    

    Two ways of adding properties after its creation

    • Dot notation & Bracket notation
      Dot notation can only access names or keys that do not stat with a digit or does not include spaces

      // this works
      anime.rating = '100/10';
      // this does not 
      anime.my name = 'Jay';
      

      Bracket notation has no problem accessing names or keys that starts with a digit or contains spaces.

      anime[20] = '100/10'
      anime['my name'] = 'Jay';
      

      Getting properties

      We can properties in the same way we set them.

      const anime = anime.title;
      console.log(anime) // logs 'naruto'
      
      const anime = anime['title'];
      console.log(anime) // logs 'naruto'
      

      Deleting properties.

      Object Properties can be deleted using the delete keyword.

      delete anime.title;
      

Top comments (0)