老师习题上说是undefined,为啥我的结果是Children

老师习题上说是undefined,为啥我的结果是Children

class Person {

            color = 'red';

            constructor(name) {

                this.name = name;

            }

            static pShow() {

                console.log(this.name);

            }

        }

        class Children extends Person{

            constructor(name) {

                super(name);

            }

            static cShow(){

                super.pShow()

            }

        }

        const p = new Children('lily');

        Children.cShow();


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2022-05-21 18:09:15

同学你好,是属性名的问题。习题中用的是username,上传代码中用的是name。而Children类本身是有name属性的,可以输出看看

https://img1.sycdn.imooc.com//climg/6288b9e1097a6c4604900042.jpg

https://img1.sycdn.imooc.com//climg/6288b9b60934455d05210217.jpg

所以同学代码测试结果是Children。

如果改为username或者其他属性名就是undefined了

https://img1.sycdn.imooc.com//climg/6288ba0c09cd539b05370472.jpg

https://img1.sycdn.imooc.com//climg/6288ba13093365f603510029.jpg

祝学习愉快!

  • 提问者 qq_慕神8318241 #1

    是所有的子类都有name属性么  都不能用name么

    2022-05-23 09:22:27
  • 好帮手慕慕子 回复 提问者 qq_慕神8318241 #2

    问题解答如下:

    1、不是所有的子类都有name属性,而是所有的类默认都有一个name属性,可以输出查看下Person也有name属性,如下:

    https://img1.sycdn.imooc.com//climg/628b44ab09b16cad20661122.jpg

    2、不推荐使用name,换成其他属性名

    祝学习愉快!

    2022-05-23 16:25:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师