ES6基础之——指向当前对象的原型对象 super
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()方法,去得到它返回来的东西

浙公网安备 33010602011771号