javascript对象方法简写的一个问题

话不多说,直接上代码:


let a = {

    s(){

        console.log('aa');

    }

};


let b = {

    s(){

        super.s();

        console.log('bb');

    }

};


Object.setPrototypeOf(b,a);


b.s();

这种方式可以正确的打印出


aa

bb

但如果这样:


let a = {

    s(){

        console.log('aa');

    }

};


let b = {

    s:function(){

        super.s();

        console.log('bb');

    }

};


Object.setPrototypeOf(b,a);


b.s();

就会报语法错误。


这里想问方法的简写和不简写有什么不同呢?因为以前自己没注意过


谢谢~


斯蒂芬大帝
浏览 432回答 1
1回答

米琪卡哇伊

spec 明确说明了函数调用 super 会报错:It is a Syntax Error if FunctionBody Contains SuperCall is true.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript