码迷,mamicode.com
首页 > 其他好文 > 详细

ES6之Class

时间:2017-10-21 18:58:37      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:父类   his   提升   继承   jic   年龄   new   tor   test   

  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

标签:父类   his   提升   继承   jic   年龄   new   tor   test   

原文地址:http://www.cnblogs.com/qiaohong/p/7705291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!