<script>
function aa(){}
aa.prototype = {
"a1" : "1",
"a2" : "2"
};
function bb(){
this.a1 = "5";
}
//function 을 선언하면 prototype이 있고 __proto__ 가 있음, __proto__는 변경할수 없는 것이며, 현재 상속 받고 잇는것들에 대해 나타냄
//prototype은 new를 이용해 선언을 했을때 __proto__로 만들어주는 역할을 함
//new를 함으로써 __proto__의 값이 된 것임, aa.prototype는 단순히 객체임 {},
//new aa() 는 __proto__ = {a1 : 1, a2:2}
//aa.prototype은 = {a1 : 1, a2:2} 만약 new aa() 이런식으로 해서 넣엇다면 {a1 : 1, a2:2, __proto__ :{a1 : 1, a2:2} } 이런식이 될거임
// 왜 이러냐 브랜든 할배가 10일만에 만들어서그럼 ㅋㅋ
// bb.prototype = new aa();
// bb.a1 = "4"; //name이 bb인 함수에 대한 값에 a1값이 들어가는것임 , prototype과는 상관없음 c로 새로운 생성자에선 당연히안넘어감
// bb.prototype.a1 = "3";
// var c = new bb();
// 프로토타입은 직렬화 된 상속만 가능
// alert(bb.a2);
// alert(bb.a1);
</script>
댓글 없음:
댓글 쓰기