Skip to main content

Classes and Objects in JavaScript.

The ways classes are created, how to manage class structure,inheritance hierarchy in java script will be covered in this blog. OOP concepts can be applied in java Script but it is a bit different than Java.

Classes and Objects.

How to create a class in JavaScript.

Functions in JavaScript act as objects. We use functions to create classes. These functions are known as constructor functions. Difference between a normal function and a constructor
function(conventions created by programmers) is that normal functions are written using camel notation and the first letter of the constructor functions(classes) starts with an uppercase letter
and defined as a noun.

Creating objects and classes.

When creating an object; Objects are clone in JavaScript because class is an object unlike in Java.

  • Creating JASON like objects using curly brackets. 
Creation of JSON object.

Console output.


JSON objects not only have properties and methods it also may include embedded objects.

Embedded object inside a JSON object.

  • Creating objects using 'Object constructor'.
Using Object function and creating an object.
This method is only used to create a single object. Therefore it is not a good practice to create many objects using this method. Because if there are many objects ; like Banana , Grape etc. this procedure must be used each time when an object is created. Therefore it is not  a good practise.



  • JavaScript objects act as Java object.But classes are created as functions.Therefore Functions(class) act as objects in JavaScript. When function is used with ‘new’ keyword that function acts as a Class.

Creating a class using 'constructor' function.

  • Creating functions using constructor pattern with arguments.

Creating objects using constructor pattern passing arguments. 


"this" keyword represent object context.It is only accessible throughout the class (If it is used inside the class or if it is used as a global it can be accessed globally). "this"  keyword is bounded to the object. If "this" keyword is used with a function inside the object it will be bounded to the object where all the object will be having that method. It will be making the object heavier; so we have to make the methods in the object be referred by other objects. this can be achieved by prototype object.



  • A constructor function(class) is used with the ‘new’ key keyword when creating an Object.Constructor function is a just another function. vehicle is an object created from Vehicle class.
Creating an object from the class.




Extra facts.....
Functional Scope => 'var 'defines functional scope. Throughout the function variables defined using 'var' are visible. Even if the variable is defined in a block  of a function using var key word it is visible throughout the function not only  to the block.
Block scope => variables are visible only with in the block.
ex-:if{},switch(){},while{},for{}


prototype

The ancestor of all the java classes is object class. Therefore there are methods that has been inherited to all java classes by the parent Object class. Such as toString(), .equals(),hashCode(),notifyAll()=>thread related methods etc.

JavaScript also have an ancestor known as object class.prototype is a property that every object has in JavaScript inherited by object class.prototype object points to the object class.But prototype object is in the class level so it can not be accessed by the object instances.


accessing prototype using lass name.





Object instance also has a prototype it is basically the object instance from which object is being created. Object ‘__proto__’ is where object get its properties inherited from.


Creating methods using prototype object.When the functions are created by using prototype object,it only gives the reference to other objects instances.

Creating a method using prototype.


Creating an object using Inheritance. Inheritance is done using prototype.Functions prototype is used to inherit properties to object instances.

Inheritance using prototype.



Comments

Popular posts from this blog

Basic concepts on ReactJS

Props and State. Props and state are the two basic ways to handle data in ReactJS.  Props are used to pass data and behaviors from container components to child components. Props are read only. State is used to keep data which can be updated. State is read write enabled. State. State is basically available through  'this.state', which is by default is null. Whenever the state changes on a component the component will  automatically re-render and update DOM (Document Object Model) if there are any changes else the DOM will not get touched at all. Using state. To change the state setState() method can be used. Since setTimeOut() method is used in the bellow example after a second (1000ms)  'Will'   will be changed to  'Bob'.   Changing the state using  'setState()' If the component has an internal value that does not effect the application state is appropriate. A side from that props can be used. Props. Pro...

What is ExpressJS

Express is a very popular framework that is used in NodeJs. Express is build upon NodeJs and also it provides a lot of tools that makes node more easy to use by adding more functionalities. Most of the needed functionalities are handled by express which helps the users to only focus on the business logic and to easily setup routes and to render the things on screen in a fast, optimized and a secured manner. How to install ExpressJS? Express can be easily installed by the command  " npm i express"  . Installation of ExpressJs package.json file will be updated once the installation is successful. How to import ExpressJS? To import the installed express module we can use the command  " require("express") " . Accessing the imported express module. express can be accessed as given below using the given commands. Firstly a constant called app is created. And then using this give constant app ...

Introduction to ReactJS

React is an open source front-end (JavaScript) library developed  and maintained by Facebook and Instagram for building fast and interactive user interfaces. Why ReactJS? In 2009 Facebook was using traditional data flow as the back-end. Therefore to get new updates the entire page had to be reloaded. In terms of initial data, real-time data and user data was flowing from different sources. Then the data was accordingly passed to the dispatcher, store and ultimately view. If there was any changes in the back-end in order  to reflect the changes on the view the entire  page had to be refreshed. This was not user-friendly. Drawbacks of traditional data flow. Uses DOM (Document Object Model). More memory consumption. Slow performance. With use of React the entire application is divided in to various components. When new data is added it will automatically update that component whose state has actually changed without reloading the entire pa...