var Human = function(name){ this.name = name;//프로퍼티 } Human.prototype.sleep = function(){//메소드 생성 console.log('졸려'); } var harry = new Human('harry');//인스턴스 생성 harry.sleep()//졸려
harry.__proto__ === Human.prototype //true;
✓harry 에 Human을 상속한 것이다. 그래서 harry 는 Human의 method 를 사용할수 있다.
var Human = function(name){ this.name = name;//프로퍼티 } Human.prototype.sleep = function(){//메소드 console.log('졸려'); } var harry = new Human('harry');//인스턴스 //자식클래스생성 function Student(name){ Human.call(this,name); } Student.prototype = new Human(); Student.prototype.constructor = Student; Student.prototype.wake = function(){ alert('일어나'); } var banini = new Student('banini'); banini.sleep(); //졸려 banini.wake();// 일어나
상속해주기
자식 클래스의 this 값 맞춰주기
부모 클래스의 this 값 맞춰주기
Student.prototype = Object.create(Human.prototype);
Student.prototype.constructor = Student;
Human.call(this,name);//call 대신 apply도 가능
class Human{ constructor(name){ this.name = name; } sleep(){ console.log('졸려'); } } var harry = new Human('harry'); class Student extends Human { constructor(name){ super(name); } wake(){ alert('일어나'); } } var banini = new Student('banini'); banini.sleep(); banini.wake();
상속해주기
부모 클래스의 this 값 맞춰주기
class Student extends Human
super(name)
머야 여기 어떻게 코딩을 5분만에 한다는거야 순 사기꾼이네