javascript creating classes code example

Example 1: javascript create class

class Person {
 constructor(name, age) {
   this.name = name;
   this.age = age;
 }
  present = () => { //or present(){
  	console.log(`Hi! i'm ${this.name} and i'm ${this.age} years old`) 
  }
}
let me = new Person("tsuy", 15);
me.present();
// -> Hi! i'm tsuy and i'm 15 years old.

Example 2: javascript classes

//use classes by initiating one like so:
class MyClass {
	constructor(FirstProperty, SecondProperty, etcetera) {
    	//The constructor function is called with the new class 
      	//instance's parameters, so this will be called like so:
      	//var classExample = new MyClass("FirstProperty's Value", ...)
      this.firstProperty = FirstProperty;
      this.secondProperty = SecondProperty;
    }
  //creat methods just like functions:
  method(Parameters) {
  	//Code Here
  }
  //getters are properties that are calculated when called, versus fixed
  //variables, but still have no parenthesis when used
  get getBothValues() 
  {
  	return [firstProperty, secondProperty];
  }
}
//Note: this is all syntax sugar reducing the boilerplate versus a
// function-defined object.

Example 3: javascript class example

// to create a class named 'LoremIpsum':

class LoremIpsum {
  
  // a function that will be called on each instance of the class
  // the parameters are the ones passed in the instantiation

  constructor(a, b, c) {
    this.propertyA = a;
    
    // you can define default values that way
    this.propertyB = b || "a default value";
    this.propertyC = c || "another default value";
  }
  
  // a function that can influence the object properties
  
  someMethod (d) {
    this.propertyA = this.propertyB;
    this.propertyB = d;
  }
}






// you can then call it
var loremIpsum = new LoremIpsum ("dolor", null, "sed");

// at this point:
// loremIpsum = { propertyA: 'dolor',
//                propertyB: 'a default value',
//                propertyC: 'sed' }

loremIpsum.someMethod("amit");

// at this point:
// loremIpsum = { propertyA: 'a default value',
//                propertyB: 'amit',
//                propertyC: 'sed' }







.