Skip to content

Instantly share code, notes, and snippets.

@suvrachat
suvrachat / ConstructorInheritance.js
Created December 6, 2015 05:31
Inheritance via function prototype property
//Ordinary function acting as constructor for parent object
var Species = function(canFly){
this.canFly = canFly;
}
//Instantiating the parent object (Nothing new here)
var landAnimal = new Species(false);
//Ordinary function acting as constructor for child object
var Dog = function(numLegs){
this.numLegs = numLegs;
}
@suvrachat
suvrachat / ObjectCreate.js
Created December 6, 2015 07:10
Inheritance using Object.create
//Object.create() creates an empty Object landAnimal
var landAnimal = Object.create();
//canFly property is set for landAnimal which will be used as the parent object
landAnimal.canFly = false;
//Object.create(landAnimal) will create an object with landAnimal as the __proto__
var Dexter = Object.create(landAnimal);
//numLegs property is set for the child object Dexter
Dexter.numLegs = 4;
console.log(Dexter.numLegs); //numLegs is found at Dexter so it will print 4
console.log(Dexter.canFly); // canFly not found at Dexter, but found at __proto__ (i.e. landAnimal) so it will print false
@Joao-Peterson
Joao-Peterson / gmk67-manual.md
Last active May 1, 2024 19:35
GMK67 manual (English)
@suvrachat
suvrachat / PropertyShadowing.js
Created December 6, 2015 07:43
Example of property shadowing
var Rose = {
color : 'Red',
hasThorns : true
}
//whiteRose is child of Rose
var whiteRose = Object.create(Rose);
//both parent and child have the "color" property
whiteRose.color = 'White';
console.log(whiteRose.color); // prints white, due to property shadowing
console.log(whiteRose.hasThorns); // prints true, no property shadowing
@qoomon
qoomon / conventional_commit_messages.md
Last active May 1, 2024 19:34
Conventional Commit Messages

Conventional Commit Messages

See how a minor change to your commit message style can make a difference.

Tip

Have a look at git-conventional-commits , a CLI util to ensure these conventions and generate verion and changelogs

Commit Message Formats

Default

@suvrachat
suvrachat / functionInhertance.js
Created December 6, 2015 07:52
Example of inherited function
var product = {
price : 10,
increment : function(hike){
this.price += hike;
}
}
var Vegetable = function(){
this.price = 100;
}
//prototype object product will be used to set the parent of instantiated object
@suvrachat
suvrachat / Constructor.js
Created December 6, 2015 05:04
Object instantiation via Constructor Functions
//Ordinary function to be used as constructor
var Employee = function(name, age){
this.name = name;
this.age = age;
}
//Instantiate an Employee object using the new keyword
var al = new Employee('al', 50);
console.log('name : ' + al.name + ' age : '); //will return name : al age : 50
@suvrachat
suvrachat / SyntaxConstructs.js
Created December 5, 2015 17:19
Object creation view Syntax Constructs
//Object creation via Object Literal
//prototype chain : obj.__proto__ -> Object().__proto__ -> null
var obj = { a : 'a'}
//Function creation via Function literal
//prototype chain : func.__proto__->Function().__proto__->Object().__proto__->null
var func = function(){
return 2;
}
@suvrachat
suvrachat / proto_traversal.js
Created December 5, 2015 12:46
Traversing the prototype chain
//parent and child will inherit from the Object Prototype
//prototype chain for parent : parent -> Object Prototype
var parent = {
name : 'Tommy',
species : 'dog'
}
//prototype chain for child : child -> Object Prototype
var child = {
name : 'Dexter'
}
@suvrachat
suvrachat / Object.js
Last active May 1, 2024 19:34
Example Object
var employee = {
name : 'Al',
age : 40,
salary : 80000,
incrementSalary : function(increment){
this.salary += increment
}
}