Class Pattern
An alternative approach to implementing the constructor pattern, with a nicer syntax and some additional features.
Example: a piggy bank library.
Change MyLibrary
to whatever namespace you’d like to use for your library. The constructor object is lowercase, and functions are automatically attached to the instance prototype
.
Examples
// Create new instances of the constructor
let dugg = new MyLibrary();
let kevin = new MyLibrary(4);
// Run methods
dugg.add(2);
kevin.subtract(1);
let total = dug.total;
The Boilerplate
class MyLibrary {
/**
* Create the constructor object
* @param {Number} start The starting amount
*/
constructor (start = 0) {
this.total = start;
}
/**
* Add money to the total
*/
add (num = 1) {
this.total = this.total + num;
}
/**
* Remove money from the total
*/
subtract (num = 1) {
this.total = this.total - num;
}
}