JavaScript's `new` operator
This demonstrates the relationship between JavaScript's `new` operator and the return type of constructors.
by AdleyEskridge
JavaScript
function ReturnsString() { return "string"; }
function ReturnsNumber() { return 1; }
function ReturnsNull() { return null; }
function ReturnsUndefined() { return void 0; }
function ReturnsThis() { return this; }
function ReturnsFunction() { return function() {}; }
function ReturnsObject() { return {}; }
alert("Results:"
+ "\nReturnsString: " + (new ReturnsString() instanceof ReturnsString)
+ "\nReturnsNumber: " + (new ReturnsNumber() instanceof ReturnsNumber)
+ "\nReturnsNull: " + (new ReturnsNull() instanceof ReturnsNull)
+ "\nReturnsUndefined: " + (new ReturnsUndefined() instanceof ReturnsUndefined)
+ "\nReturnsThis: " + (new ReturnsThis() instanceof ReturnsThis)
+ "\nReturnsFunction: " + (new ReturnsFunction() instanceof ReturnsFunction)
+ "\nReturnsObject: " + (new ReturnsObject() instanceof ReturnsObject)
);