javascript에서의 상속은 일반적인 OO와 다르다.
그 이유는 javascript가 OO 언어가 아니고, 함수(prototype)기반 언어라서 그러하다.
대신, prototype과 prototype.constructor를 치환하는 방법으로 상속이 구현 가능하다.
<<예제>>
function AjaxBasic(){
if ( window.XMLHttpRequest){
this.xhr = new XMLHttpRequest();
}else{
console.log("NO XHR support maybe ~ IE6");
return;
}
this.xhr.onreadystatechange=function(){
if (ajaxObj.xhr.readyState==4 && ajaxObj.xhr.status==200)
document.body.innerHTML=ajaxObj.xhr.responseText;
}
//// method.. run()
this.run = function(){
this.xhr.open("GET", "test_data.txt", true);
this.xhr.send();
}
}
function MyAjax(){
this.run = function(fileUrl){
ajaxObj.xhr.open("GET", fileUrl, true);
ajaxObj.xhr.send();
}
}
///Inherit = prototype + constructor
MyAjax.prototype = new AjaxBasic();
MyAjax.prototype.constructor = MyAjax();