美文网首页ES6
ES6学习-类(Class)的声明1

ES6学习-类(Class)的声明1

作者: YINdevelop | 来源:发表于2018-04-12 17:17 被阅读5次

    在es5中,是不存在类的概念的,但在ES6中,为我们提供了类的使用。

    1.类的声明

    先声明一个最简单的coder类,类里只有一个name方法,方法中打印出传递的参数。

    class coder{
        name(val){
            console.log(val);
        }
    }
    

    2.类的使用

    我们已经声明了一个类,并在类里声明了name方法,现在要实例化类,并使用类中的方法。

    class Coder{
        name(val){
            console.log(val);
        }
    }
    
    let test= new Coder;
    test.name('js');  //js
    

    3.类的多方法声明

    class Coder{
        name(val){
            console.log(val);
            return val;
        }
        skill(val){
            console.log(this.name('js1')+'-'+'Skill:'+val);
        }
    }
     
    let test= new Coder;
    test.name('js');
    test.skill('es6'); 
    
    //js
    //js1
    //js1-skill:es6
    

    这里需要注意的是方法中间不能写逗号了,否则会报错。还有这里的this指类本身。

    4.类的传参

    在类的参数传递中我们用constructor( )进行传参。具体constructor是什么可以看下节。传递参数后可以直接使用this.xxx进行调用。

    class Coder{
        name(val){
            console.log(val);
            return val;
        }
        skill(val){
            console.log(this.name('jspang')+':'+'Skill:'+val);
        }
     
        constructor(a,b){
            this.a=a;
            this.b=b;
        }
     
        add(){
            return this.a+this.b;
        }
    }
     
    let test=new Coder(1,2);
    console.log(test.add());  //3
    

    5.类的继承

    class Coder{
        name(val){
            console.log(val);
            return val;
        }
    }
     
    class inherit extends Coder{  
     
    }
     
    let test=new inherit;
    test.name('js');  //js
    

    声明一个inherit的新类并继承Coder类,inherit新类里边为空,这时候我们实例化新类,并调用里边的name方法。结果也是可以调用到的。

    下一篇-ES6学习-类(Class)的原理2

    相关文章

      网友评论

        本文标题:ES6学习-类(Class)的声明1

        本文链接:https://www.haomeiwen.com/subject/txdfkftx.html