微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6 Class静态方法static

  // 在类中定义方法加上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()


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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐