《JS原理、方法与实践》- 类

ES6发布于2015年6月份,新增了类,模块,箭头函数等,而且新增了13个内置对象:Symble,Map,Set,WeakMap,WeakSet,ArrayBuffer,TypedArray,DataView,GeneratorFunction,Generator,Promise,Reflect,Proxy。
ES2015中最大的改变应该就是启用class关键字,即类的概念。ES本身是基于对象的语言,虽然启用了类的概念,但是依然不是基于类的语言而是基于对象的语言。

class的用法

ES6中使用class的操作除了定义正常的属性、方法外,最重要的就是extends、super以及constructor关键字的使用。
代码示例:

// 定义一个人的类
class Person {
    constructor(sex){
        this.sex = sex;
    }
    
    printSex(){
        console.log(`sex is ${this.sex}`);
    }
}

// 定义一个学生类
class Student extends Person {
    constructor(sex, age){
        super(sex);
        this.age  = age;
    }
    
    printStudentInfo() {
        console.log(`student sex is ${this.sex}, age is ${this.age}`);
    }
}

// 实例化
var stu = new Student(18, 'male');
stu.printSex(); // sex is 18
stu.printStudentInfo(); // student sex is 18, age is male
测试结果

ES中的构造函数是利用constructor来定义的,而不像C#和java,使用与类名同名的函数来定义。

你可能感兴趣的:(《JS原理、方法与实践》- 类)