반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

taenyLog

JavaScript | extends 본문

Web

JavaScript | extends

taenyLog 2023. 6. 20. 08:55
반응형
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