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()方法,去得到它返回来的东西