

extends를 사용해 Person class 코드를 PersonPlus class에 넣을 수 있다
Person class 코드와 더 추가하고 싶은 코드를 이렇게 추가하면 PersonPlus는 그대로 두고 Person class의 내용만 바꿀 수 있다
변수에 new PersonPlus를 할당한다

- 값은
prototype : 70
prototype : 50
35
25
__proto__를 사용한 상속__proto__는 prototype link이다 __proto__= dress;var dress = {name : 'weddingdress'}; var design = {color : 'white'}; design.__proto__ = dress; console.log(design.name); console.log(design.color);-> 값은 weddingdress / white
__proto__를 사용해 dress 객체 안에 design 객체를 추가- dress 객체에서 color라는 프로퍼티를 찾아보지만 없다
__proto__속성이 담고 있는 객체에서 color를 찾아서 출력
var dress = {name : 'weddingdress'}; var design = {color : 'white'}; design.__proto__ = dress; design.name = 'dresss'; console.log(dress.name);-> 값은 weddingdress
- design 객체의 값을 바꿨을 뿐
__proto__가 가리키는 객체를 바꾼 것이 이니기 때문에 weddingdress가 나온다
var park = { name : 'park', first : 20, second : 30, sum : function(){ return this.first + this.second; } } var lee = { name : 'lee', first : 10, second : 20 } lee.__proto__ = park; console.log(park.sum()); console.log(lee.sum());-> 값은 50 / 30
var lee = { name : 'lee', first : 10, second : 20 avg : function() { return (this.first + this.second)/2; } } lee.__proto__ = park; console.log(park.sum()); console.log(lee.sum());
__proto__ 대체var A = {name : 'gogo'} var B = Object.create(A);
- Object에게 객체를 만들어(create)
- A를 prototype 객체로 하는
- 그 객체는 B야
- 새로운 객체를 만드는데 그 새로운 객체는 (A)를 부모로 하는 새로운 객체(B)이다
__proto__를 Object.create()로var dress = {name : 'weddingdress'}; var design = {color : 'white'}; design.__proto__ = dress; var design = Object.create(dress);
__proto__를 Object.create()로var park = { name : 'park', first : 20, second : 30, sum : function(){ return this.first + this.second; } } var lee = Object.create(park); lee.name = 'name'; lee.first = 10; lee.second = 10; lee.avg = function() { return (this.first + this.second)/2; } console.log(park.sum()); console.log(lee.sum());
- super로 부모 코드를 가져올 때 두 가지 방법으로 사용
-super() : super(매개변수)
-ex) super(name, first, second)
-super.함수명()
-ex) super.sum()




var lee = new PersonPlus1('lee', 10, 20, 30); console.log(lee.sum()); console.log(lee.avg());-> 값은 60 / 20