needy.js
function extendClass(parent, constructor)
	{
		var anonymous = function() {};
		anonymous.prototype = parent.prototype;
		constructor.prototype = new anonymous();
		constructor.constructor = constructor;

		defineProperties.apply(null, [constructor.prototype, { configurable: false }].concat(Array.prototype.slice.call(arguments, 2)));

		defineProperties(constructor, { configurable: false }, {
			extend: partial(extendClass, constructor)
		});

		return constructor;
	}
function extendClass(parent, constructor)
	{
		var anonymous = function() {};
		anonymous.prototype = parent.prototype;
		constructor.prototype = new anonymous();
		constructor.constructor = constructor;

		defineProperties.apply(null, [constructor.prototype, { configurable: false }].concat(Array.prototype.slice.call(arguments, 2)));

		defineProperties(constructor, { configurable: false }, {
			extend: partial(extendClass, constructor)
		});

		return constructor;
	}
function extendClass ( parent , constructor ) { var anonymous = function ( ) { } ; anonymous . prototype = parent . prototype ; constructor . prototype = new anonymous ( ) ; constructor . constructor = constructor ; defineProperties . apply ( null , [ constructor . prototype , { configurable : false } ] . concat ( Array . prototype . slice . call ( arguments , 2 ) ) ) ; defineProperties ( constructor , { configurable : false } , { extend : partial ( extendClass , constructor ) } ) ; return constructor ; }
Simple JavaScript inheritance. Nothing fancy.
Simple JavaScript inheritance . Nothing fancy .