let breakfast = {
  getDrink(){
    return 'tea'
  }
};


let dinner = {
  getDrink(){
    return 'beer'
  }
};


let sunday = {
  __proto__:breakfast
}

  

这里把sunday的prototype设置成了breakfast,这样它就拥有了breakfast这个对象里的getDrink方法
不过现在,想在sunday里面重新定义getDrink方法去覆盖breakfast对象里的getDrink方法,并且想得到sunday对象里得到breakfast对象里的getDrink方法返回来的东西,这时就可以使用super加上方法的名字来得到方法返回来的东西。

 

let breakfast = {
  getDrink(){
    return 'tea'
  }
};



let dinner = {
  getDrink(){
    return 'beer'
  }
};



let sunday = {
  __proto__:breakfast,
  getDrink(){
    return super.getDrink() + 'milk';
  }
}
 

console.log(sunday.getDrink());   //tea milk

  

 

因为在上面把sunday的prototype设置成了breakfast,super.getDrink()意思就是执行下breakfast对象里的getDrink()方法,去得到它返回来的东西

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
  • 2021-10-08
  • 2022-12-23
猜你喜欢
  • 2021-12-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-14
  • 2022-12-23
相关资源
相似解决方案