Objects

JavaScript is an object oriented programming language. In the previous lessons, you learned how to use different types of variables to represent different kinds of data in JavaScript. These variable can have only one value at a time. But Javascript objects can contain multiple values, as well as functions for working with these values. So, these Objects enable you to group related data and the functions into a single entity

An object is a collection of properties and these properties can be either primitives or other objects, including functions. Unlike most other object oriented programming languages, which are based on classes and class instances, JavaScript is based on prototypal inheritance in which objects inherit from other objects. So, these objects make it much easier to manage in your programs

How to create and use objects in Javascript

var student = {
  name: "Jack",
  age: 12,
  getName: function()
  {
    alert(this.name);
  }
};

In the above code, student is an Object and name and age are Object properties and getName() is the method in the Object.

Call Object function

student.getName();

The above code will alert – Jack.

Object constructor

An object constructor is normally a regular JavaScript function that creates an object wrapper for the given value.

function studentConstructor() {
	this.name = "Jack";
	this.age = 12;
	this.getName = function()
	{
		alert(this.name);
	}
}

How to create a New Instance from a Constructor

var student = new studentConstructor();
student.getName(); // will alert "Jack"

Literal notation in Javascript Object

var student = {
	name: "Jack",
	age: 12,
	getName: function()
	{
		alert(this.name);
	}
};
student.getName(); //will alert "Jack"

Object.create() in Javascript Object

We can create new objects in Javascript using Object.create() method.

var student = {
	name: "Jack",
	age: 12,
	getName: function()
	{
		alert(this.name);
	}
};
var st = Object.create(student);
st.getName();

Accessing Object Properties in JavaScript

We can access Object Properties in JavaScript using either the dot(.) notation or the bracket[] notation.

var student = {};
student.name = "Jack"; // access via . notation
student["age"] = 12; // access via [] brackets
alert(student["name"]); // will alert "Jack"
alert(student.age); // will alert 12
alert(student.name); // will alert "Jack"
alert(student["age"]); // will alert 12

Object contain another Object

An Object can contain any data, including other objects too. The following example shows how to a Javascript Object contain other Object and access values.

var student = {
	name: "Jack",
	age: 12,
	classTeacher: {
	firstname: "John",
	lastname: "Peter"
	}
};
alert(student.classTeacher.firstname);
alert(student['classTeacher']['firstname']);
alert(student.classTeacher['firstname']);
alert(student['classTeacher'].firstname);