ES6 Class静态方法static

本文探讨了JavaScript中原型链的概念,区分了实例方法和静态方法,展示了静态方法如何通过类直接调用,并介绍了静态方法的this指向。同时,讲解了静态方法在子类继承中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//在类型上定义的方法都在原型链上
  // 在类中定义方法前加上static关键字,该方法就是静态方法
        // 静态方法可以直接通过类来直接调用
        class Foo {
            //实例方法,定义在实例对象的原型上
            methodA() {
                console.log("methodA is called")
            }
            //静态方法,定义在Foo类型上面
            static methodB() {
                console.log("methodB is called")
            }

            static bar(){
                //静态方法中的this ,指向类(Foo)而不是实例 
                //Foo.baz()
                this.baz()
            }

            //静态方法和实例方法可以重名
            static baz(){
                console.log("static baz is called")
            }

            baz(){
                console.log("baz is called")
            }

        }

        let foo=new Foo()
        //实例方法必须通过实例对象调用
        foo.methodA()
        //静态方法不能通过实例对象调用
        //foo.methodB()
        
        //静态方法和实例对象无关
        Foo.methodB()

        Foo.bar()


        //父类的静态方法,可以被字类继承
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值