반응형
Notice
Recent Posts
Recent Comments
Link
taenyLog
JavaScript | extends 본문
반응형
class cat {
constructor(name, age) {
this.name = name;
this.age = age;
}
eat() {
return `${this.name} is eating`;
}
meow() {
return "mEWOOOOE";
}
}
class dog {
constructor(name, age) {
this.name = name;
this.age = age;
}
eat() {
return `${this.name} is eating`;
}
bark() {
return "VARKRKRRKK";
}
}
class pet{
constructor(name, age) {
this.name = name;
this.age = age;
}
eat() {
return `${this.name} is eating`;
}
}
class cat {
meow() {
return "mEWOOOOE";
}
}
class dog {
bark() {
return "VARKRKRRKK";
}
}
wat를 살펴보면 빈 객체인 것을 알 수 있다.
cat과 dog에 pet의 기능을 포함시켜 pet을 확장시키려면 extends pet을 써주면 된다.
extends pet을 해준 후 새로운 cat 을 만들었을때
위와 같이 name과 age가 있는 것을 볼 수 있다.
또한 meow()와 eat()까지 액세스 됐음.
class pet{
constructor(name, age) {
this.name = name;
this.age = age;
}
eat() {
return `${this.name} is eating`;
}
}
class cat extends pet{
meow() {
return "mEWOOOOE";
}
eat() {
return `${this.name} cat eating food`;
}
}
class dog extends pet{
bark() {
return "VARKRKRRKK";
}
}
위와 같이 cat에 eat()를 추가하면
cat의 eat()메서드를 호출 하지만
cat 프로토타입에서 eat을 찾지 못하면 pet에서 찾게됨
반응형
'Web' 카테고리의 다른 글
Terminal | ls, pwd, cd (0) | 2023.06.20 |
---|---|
JavsScript | super (0) | 2023.06.20 |
JavaScript 의 this (0) | 2023.06.20 |
JavaScript | Class (0) | 2023.06.20 |
JavaScript | new operator , constructor function (0) | 2023.06.20 |