ES6之Class

Posted 另一种失败

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6之Class相关的知识,希望对你有一定的参考价值。

  ES6中的Class和JS的比起来无疑是让对象原型的写法更加清晰,更像面向对象编程的语法而已,注意一个问题ES6里面的Class的内部定义的所有方法都是不可枚举的,而且在ES6中Class不存在变量提升。(注意:Class同时具有prototype属性和__proto__属性,所以同时存在两条继承链)。

  Class的基本写法示例代码

lass Test  {
    constructor(value){        //如果没有构造器那么会自动添加一个空的构造器
        this.value = value;
        console.log(" Hi "+ value);
    }
    sayAge (age) {
        console.log(" 年龄是 "+ age);
    }
}
var a = new Test("张三");        // Hi 张三
console.log(a.sayAge(20));        // 年龄是 20

  Class是可以继承的,也可以重写继承方法也可以在继承方法中添加新的方法,在继承里面有个关键字super代表了父类的实例,而且继承链总是指向父类,如果在某个函数前面加上static关键字,那么该方法则不会被继承,注意:class内部只有静态方法没有静态属性。

class Test { 
    constructor(value){ 
        this.value = value; 
    console.log(" Hi "+ value); 
    } 
    sayAge (age) { 
    console.log(" 年龄是 "+ age); 
    return true;            
    } 
} 
class Jicheng extends Test { 
    sayTizhong(tizhong){ 
    console.log("体重是"+tizhong); 
    return true;
    } 
} 
var a = new Jicheng("张三");             // Hi 张三
console.log(a.sayAge(20));             // 年龄是 20    true
console.log(a.sayTizhong("60kg"));        //体重是60kg    true

  最后说个方法是new.target,这个函数可以用作于确定构造函数是这么被调用的。

    

以上是关于ES6之Class的主要内容,如果未能解决你的问题,请参考以下文章

ES6之class

ES6之class

es6之class

es6 之class介绍

ES6之class

ES6系列_15之class类的使用