ES6中的类(Class)的写法

1.传统ES5中的class用法

//ES5的对应写法
        (function(){
            //定义类、构造函数
            function User(name,age){
                this.name=name;
                this.age=age;
            }

            //定义原型方法
            User.prototype.show=function(){
                console.log('...');
            }

            //定义静态方法
            User.run=function(){
                console.log('...');
            }

            window.User=user;
        })();

1.ES6中的class用法

    class User{
            //实例化类时默认会执行构造函数
            constructor(name,age){
                //初始化对象的语句
                this.name=name;
                this.age=age;
            }

            //原型方法
            show(){
                console.log('...');
            }

            //静态方法
            static run(){
                console.log('...');
            }
        }

3.ES5的继承写法

    //ES5的继承
        function Father(){
        }
        Father.prototype.show=function(){
        }

        function Son(){
            //继承第一句:让子类实例化的对象具备父类的所有属性
            Father.apply(this,arguments);
        }
        //继承第二句:让子类实例化对象具备父类的所有原型方法
        Son.prototype=Object.create(Father.prototype);

        //继承第三句:找回丢失的构造函数
        Son.prototype.constructor=Son;

        Son.prototype.run=function(){
        }

4.ES6的继承写法(简单到丧心病狂)

//ES6的继承
        class Son extends Father{
            constructor(){
                super();
            }
        }

5.super关键字

super可以用在类的继承中,或者对象字面量中,super指代了整个prototype或者proto指向的对象

作用:

super 关键字用于访问父对象上的函数。

用法:

super([arguments]); // 访问父对象上的构造函数
super.functionOnParent([arguments]); // 访问父对象上的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值