Everything in JavaScript is an object: strings, numbers, arrays, functions...
Additionally, JavaScript allows custom objects.
Everything is an object
JavaScript provides several built-in objects, such as String, Date, Array, etc. Objects are just special data types with properties and methods.
JavaScript Object
Objects are just a special kind of data. Objects have properties and methods.
Accessing the properties of an object
Attributes are values associated with objects.
The syntax for accessing object properties is:
objectName.propertyName
This example uses the length property of the String object to obtain the length of the string:
var message="Hello World!"; var x=message.length;
After the above code is executed, the value of x will be:
12
Methods to access objects
Methods are actions that can be performed on an object.
You can call methods with the following syntax:
objectName.methodName()
This example uses the String object’s toUpperCase() method to convert text to uppercase:
var message="Hello world!"; var x=message.toUpperCase();
After the above code is executed, the value of x will be:
HELLO WORLD!
Create JavaScript object
JavaScript enables you to define and create your own objects.
There are two different ways to create new objects:
Create a direct instance
This example creates a new instance of the object and adds four properties to it:
Example
person=new Object(); person.firstname="John"; person.lastname="Doe"; person.age=50; person.eyecolor="blue";
Alternative syntax (using object literals):
Example
person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
Use object constructor
This example uses functions to construct objects:
Example
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; }
In JavaScript, this usually points to the function itself we are executing, or to the object to which the function belongs (runtime)
Create JavaScript object instance
Once you have the object constructor, you can create new object instances like this:
var myFather=new person("John","Doe",50,"blue"); var myMother=new person("Sally","Rally",48,"green");
Add properties to JavaScript objects
You can add new properties to an existing object by assigning a value to the object:
Assuming personObj already exists - you can add these new properties to it: firstname, lastname, age and eyecolor:
person.firstname="John"; person.lastname="Doe"; person.age=30; person.eyecolor="blue"; x=person.firstname;
After the above code is executed, the value of x will be:
John
Add methods to JavaScript objects
Methods are nothing more than functions attached to an object.
Define object methods inside the constructor function:
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; this.changeName=changeName; function changeName(name) { this.lastname=name; } }
changeName() The value of function name is assigned to the lastname attribute of person.
Now you can try it:
myMother.changeName("Doe");