This, call, apply, bind

by Quique Fdez Guerra

HTML

Open your console :)

JavaScript

// Simple function
var printText = function(text) {
	console.log(text);
}

// JavaScript OOP (prototype pattern)
function Printer(text) {
	this.text = text;
}

Printer.prototype.printQuote = function(before, after) {
	var quote = before + this.text + after;
  printText(quote);
}

var myprinter = new Printer('Lorem ipsum graficum');
myprinter.printQuote('`', '´');

var myprinter2 = new Printer('Call me, maybe!');
myprinter.printQuote.call(myprinter2, '(', ')');

var myprinter3 = new Printer('See you later..');
myprinter.printQuote.apply(myprinter3, ['{', '}']);

var myprinter4 = new Printer('Return to the article :)');
myprinter.printQuote.bind(myprinter4)('----', '----');