es6中的class是es5客户prototype优雅的写法

类的声明

首字母要大写

        class Coder{
            name(val){
                console.log(val)
            }
        }

类的使用

        class Coder{
            constructor(a,b){
                this.a = a;
                this.b = b;
            }
            name(val){
                console.log(val)
                return val;
            }
        }
        let jie = new Coder;
        jie.name("杰") //杰

类的多方法声明

内部调用,要带return

        class Coder{
            constructor(a,b){
                this.a = a;
                this.b = b;
            }
            name(val){
                console.log(val)
                return val;
            }
            skill(val){
                console.log(this.name("jie") + ":" + "skill:"+val)
            }
        }
        let jie = new Coder;
        jie.skill("web")
         //jie
        //jie:skill:web

类的传参

        class Coder{
            constructor(a,b){
                this.a = a;  //Coder.a
                this.b = b;  //Coder.b
            }
            add(){
                return this.a + this.b;
            }
        }
        let jie = new Coder(1,2);
        console.log(jie.add()); //3
        console.log(jie.a)  //1
        console.log(jie.b)  //2

class的继承

不传参调用constructor

        class Coder{
            constructor(a,b){
                this.a = a;
                this.b = b;
            }
            name(val){
                console.log(val)
                return val;
            }
        }

        class htmler extends Coder{

        }
        let biao = new htmler;
        biao.name("彪")  //彪
        console.log(biao.a)  //underfind
        console.log(biao.b) //underfind

传参调用constructor

        let biao = new htmler(1,2);
        biao.name("彪")  //彪
        console.log(biao.a)  //1
        console.log(biao.b) //2

渣渣辉
1.3k 声望147 粉丝

引用和评论

0 条评论