More actions
imported>qa22ahj No edit summary |
(Repair batch-0006 pages from live compare) |
||
| (7 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
== 개요 == | |||
Javascript에서 클래스를 묘사하기 위한 방안. | |||
~~마음대로 가져가면 가만 안둠.~~ MIT라이선스 입니다. | |||
---- | ---- | ||
== 소스코드 == | == 소스코드 == | ||
/** | /** | ||
* @author Blue Mir | * @author Blue Mir | ||
* @email qa22ahj@naver.com | |||
Function.prototype.extend = function(superclass) | */ | ||
{ | Function.prototype.extend = function(superclass) | ||
{ | |||
if(this.prototype.superclass) | |||
throw new SyntaxError("이미 superclass를 가지고 있습니다."); | |||
var proto = new superclass(); | |||
for(var p in proto) | |||
{ | |||
if(proto.hasOwnProperty(p)) delete proto[p]; | |||
} | |||
proto.constructor = this; | |||
proto.superclass = superclass; | |||
this.prototype = proto; | |||
}; | return this; | ||
Function.prototype.implement = function() | }; | ||
{ | Function.prototype.implement = function() | ||
{ | |||
for(var i = 0; i < arguments.length; i++) | |||
{ | |||
var implementClass = arguments[i]; | |||
for(var p in implementClass.prototype) | |||
{ | |||
var fn = implementClass.prototype[p]; | |||
if(typeof fn == "function") | |||
{ | |||
this.prototype[p] = fn; | |||
} | |||
} | |||
} | |||
} | return this; | ||
}; | |||
---- | ---- | ||
Latest revision as of 01:08, 27 March 2026
개요
Javascript에서 클래스를 묘사하기 위한 방안.
~~마음대로 가져가면 가만 안둠.~~ MIT라이선스 입니다.
소스코드
/**
* @author Blue Mir
* @email qa22ahj@naver.com
*/
Function.prototype.extend = function(superclass)
{
if(this.prototype.superclass)
throw new SyntaxError("이미 superclass를 가지고 있습니다.");
var proto = new superclass();
for(var p in proto)
{
if(proto.hasOwnProperty(p)) delete proto[p];
}
proto.constructor = this;
proto.superclass = superclass;
this.prototype = proto;
return this;
};
Function.prototype.implement = function()
{
for(var i = 0; i < arguments.length; i++)
{
var implementClass = arguments[i];
for(var p in implementClass.prototype)
{
var fn = implementClass.prototype[p];
if(typeof fn == "function")
{
this.prototype[p] = fn;
}
}
}
return this;
};