C# vs JavaScript Classes (ECMASCRIPT)

ECMASCRIPT is a method of (concept) using JavaScript as Object Oriented designing.  Knowing about this helps you to work on SharePoint Client Object Development, SharePoint Apps Development as well as any web development that involves JavaScript Objects.

There are a few concepts you need to know. Let's compare those using general OOP language (C#) and ECMASCRIPT (C# vs. JavaScript).

Creating a Class

http://lh3.ggpht.com/-Hh23XHvJikM/UPgDEHKOyzI/AAAAAAAABSE/kTjjknmUVd4/image_thumb%25255B15%25255D.png?imgmax=800 http://lh3.ggpht.com/-aji9z-dNrEk/UPgDGyo_r6I/AAAAAAAABSU/BXnnTCQuvlQ/image_thumb%25255B12%25255D.png?imgmax=800

Creating an Object

http://lh6.ggpht.com/-uW3JVKXFL5k/UPgDJ9zi4sI/AAAAAAAABSk/NRlebfr3_PM/image_thumb%25255B21%25255D.png?imgmax=800 http://lh4.ggpht.com/-NeF59-d528Q/UPgDM-4c4rI/AAAAAAAABS0/_QnvbM_vOCY/image_thumb%25255B18%25255D.png?imgmax=800

Public and Private Properties

http://lh4.ggpht.com/-TXCgPHT0FC0/UPlEs9JbHDI/AAAAAAAABTg/epnDe3ou6pk/image_thumb%25255B2%25255D.png?imgmax=800 http://lh5.ggpht.com/-O5IIpcvyH1g/UPlEvhDh9MI/AAAAAAAABTw/L6ZvhmFJDaQ/image_thumb%25255B7%25255D.png?imgmax=800

Method Definition (in best way)

 http://lh5.ggpht.com/-QLENovpTpfY/UPlEyRT-5xI/AAAAAAAABUA/fCQJF511XkA/image_thumb%25255B11%25255D.png?imgmax=800 http://lh6.ggpht.com/-KQvzU3oVFwc/UPlE09k5ppI/AAAAAAAABUQ/XeheyxOMvTc/image_thumb%25255B12%25255D.png?imgmax=800

Note: 

Prototype is something like a template. We are assigning the method save() to the template so it will not recreate everything in the browser memory every time we are creating an object. Assigning the method to the prototype is the best way to do it.)

Inheritance

http://lh5.ggpht.com/-pPEW5_KqjsM/UPlE3g0lybI/AAAAAAAABUg/G1-Vod8RArg/image_thumb%25255B21%25255D.png?imgmax=800 http://lh6.ggpht.com/-c7JniiD5Kuo/UPlE6_Wx8CI/AAAAAAAABUw/Yv7IMJLhqQM/image_thumb%25255B22%25255D.png?imgmax=800